javascript实现继承的4种方法,以及它们的优缺点

1. 原型链继承(有缺陷):

缺陷1:切断了Zi.prototype.constructor与Zi的关系

缺陷2:原型链上的引用类型的数据会被所有实例共享

 

2. 构造函数继承(有缺陷):

缺陷1:Fu.prototype上的方法无法继承

 

3. 组合继承(推荐):
优点:解决了原型链继承和构造函数继承的缺点
缺点:调用了两次Fu的构造函数,即new Fu()使用了两次,原型链继承Fu的构造函数一次,实例化一次

 

4. 寄生组合式继承(推荐):
特点:使用到了Object.create(Fu.prototype)实现原型链的浅拷贝
优点:解决了原型链继承和构造函数继承的缺点
缺点:暂无

 

 

posted @ 2019-05-27 17:37  chenjinbang  阅读(621)  评论(0编辑  收藏  举报