组合继承是js最常用的继承模式,组合继承最大的问题就是无论在什么情况下,都会调用两次构造函数:一次是在创建子类型原型时,另一次是在子类型构造函数内部
function Person(name,color){
this.name=name;
this.color=color
}
Person.prototype.SetColor=function(color){
this.color=color;
console.log(this.color);
}
function Child(name,color,other){
Person.call(this,name,color);
}
Child.prototype=new Person();
var child=new Child('张三','绿色','其他');
console.log(child.color);//绿色
child.SetColor('白色');//白色
这样Child函数也继承了父类中的SetColor的方法了