前端学习总结-原生js之继承

前端学习的总结,如果以后发现错误或有新的理解再继续补充。

1.什么是继承?
暂时理解为让一个js对象拥有另一个js对象的属性和方法。

2.继承的实现方式
原型链继承,构造函数继承,组合继承,原型继承,寄生继承,寄生组合继承等。
每一种继承的实现方式都有它的优点和缺点,寄生组合继承相对来说完美一点,但是实现较为繁琐,ES6中的extends用的就是寄生组合继承。

原型链继承:通过原型链实现继承,让一个实例对象的构造函数的prototype属性指向另一个构造函数的实例对象。

构造函数继承:通过在函数中用call或者apply调用另一个对象的构造函数来实现继承该对象的属性和方法。

组合继承:结合原型链和构造函数继承,即为组合继承。组合继承会实现实例化俩遍父对象构造函数,这是他的缺点。

原型继承:在一个函数中实例化另一个函数获取实例对象,再对该实例对象添加属性或方法增强该对象,最后将该对象作为返回值返回。

寄生继承:在函数中,用Object()方法克隆一个对象,添加属性或方法来增强该对象,然后将该对象作为返回值返回。

寄生组合继承:结合寄生继承和组合继承的方法,可以规避需要实例化俩遍函数的缺点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值