JS实现继承的几种方式

青春壹個敷衍的年華 提交于 2019-11-27 02:36:52

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;

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!