1、借用构造函数实现继承
function P1(){
this.name = "P1";
}
function C1(){
P1.call(this);
this.type = "C1";
}
缺点:C1无法继承P1的原型对象,只是部分继承
2、借用原型链实现继承
function P2(){
this.name = "P2";
this.play = [1,2,3];
}
function C2(){
this.type = "C2";
}
C2.prototype = new P2();
缺点:原型对象的属性是共享的
3、组合式继承
function P3(){
this.name = "P3";
this.play = [1,2,3];
}
function C3(){
P3.call(this);
this.type = "C3";
}
C3.prototype = Object.create(P3.prototype);
C3.prototype.constructor = C3;