zoukankan      html  css  js  c++  java
  • 求助:分析javascript的继承模式问题

    <script type="text/java>
        function object(obj){
            function f(){}
            f.prototype = obj;
            return new f();
        }    
    
        function createAnother(obj){
             var tmp = object(obj);
             //alert(tmp.prototype);//这里应该是什么结果???
             //tmp.prototype.sayHi = function(){//会报错
            tmp.sayHi = function(){
                   alert('Hi'); 
            }; 
        return tmp; } function Person(name){ this.name = name; this.color = ['red','blue']; this.sayHello = function(){ alert('Hello!'); }; } var instance = createAnother(new Person('craig')); instance .sayHi(); </script>
    上面的代码是经典的寄生式继承模式。按照自己的理解这里的
    tmp.prototype应该就是指向Person,tmp.prototype.sayHi方法也不应该报错,但在IE9和chrome中都报错了。希望大家帮忙分析一下这其中的原因(新手入门),谢谢了。
    
    
  • 相关阅读:
    PG-日常管理
    PG-高可用(pgpool-Ⅱ)
    PG-基准测试
    PG-备份恢复
    PG-并发问题
    Go-常量
    Go-变量
    Oracle-11g升级PSU补丁
    Oracle-`sqlplus`工具使用技巧
    [CF1051F] The Shortest Statement
  • 原文地址:https://www.cnblogs.com/craig-yilia/p/4059999.html
Copyright © 2011-2022 走看看