JS实现继承的几种方式

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;

posted @ 2019-08-12 11:40  要好好生活啊  阅读(140)  评论(0编辑  收藏  举报