(三十三)设计模式之混合模式

/** * 混合模式 = 原型模式 + 构造函数模式 */ 
function Animal(name, color){ 
    this.name = name; 
    this.color = color; 
    console.log( this.name + this.color) 
} 
Animal.prototype.getInfo = function(){ 
    console.log('名称:'+ this.name); 
} 
function largeCat(name, color){ 
    Animal.call(null, name, color); 
    this.color = color; 
} 
largeCat.prototype = create(Animal.prototype); 
function create (parentObj){ 
    function F(){} 
    F.prototype = parentObj; 
    return new F(); 
}; 
largeCat.prototype.getColor = function(){ return this.color; } 
var cat = new largeCat("Persian", "白色"); console.log( cat )

  

posted @ 2018-08-02 10:50  狗尾草的博客  阅读(1667)  评论(0编辑  收藏  举报