Javascript篇之Prototype的原型

backOrigin發表於2016-11-02

組合建構函式+原型模式

function Box(name,age) {                //獨立的屬性用建構函式
    this.name=name;
    this.age=age;
    this.family=['aa','cc','dd'];

}

Box.prototype={                         //保持共享的用原型
    constructor:Box;
    run:function() {
        this.age+this.name+this.family;  
    }
};



動態原型模式= ==組合建構函式+原型模式==

function Box(name,age) {                //獨立的屬性用建構函式
    this.name=name;
    this.age=age;
    this.family=['aa','cc','dd'];
if(typeof run != 'function') {          //在這裡增加了判斷
                                        //原型的初始化只需要一次

      Box.prototype={                   /保持共享的用原型
        constructor:Box;
        run:function() {
         this.age+this.name+this.family;  
             }
        };
    }

}

寄生建構函式===工廠模式+建構函式==

就是在工廠模式下  例項化物件

相關文章