借用构造函数实现继承
function Parent1(){
this.name ="parent1"
}
function Child1(){
Parent1.call(this);
this.type ="child1";
}
缺点:Child1无法继承Parent1的原型对象,并没有真正的实现继承(部分继承)
借用原型链实现继承
function Parent2(){
this.name ="parent2";
this.play = [1,2,3];
}
function Child2(){
this.type ="child2";
}
Child2.prototype = new Parent2();
缺点:原型对象的属性是共享的
组合式继承
function Parent3(){
this.name ="parent3";
this.play =[1,2,3];
}
function Child3(){
Parent3.call(this);
this.type ="child3";
}
Child3.prototype = Object.create(Parent3.prototype);
Child3.prototype.constructor = Child3;