鱼C论坛

 找回密码
 立即注册
查看: 1298|回复: 0

关于JS原型链继承

[复制链接]
发表于 2022-10-3 10:57:55 | 显示全部楼层 |阅读模式
60鱼币
关于JS的原型链继承,我看网上的写法都是按照写法一(见如下代码)写的,先更改子类的原型对象为父类的实例化对象,然后再修改父类的constructor属性。
但为什么不能直接按照写法二写呢?直接修改子类的原型对象的隐式原型属性为父类的实例化对象,不是直接就解决了吗?
  1. function Supper(){
  2.   this.supProp = 'Supper property';
  3. }
  4. Supper.prototype.showSupperProp = function(){
  5.   console.log(this.supProp);
  6. }

  7. function Sub(){
  8.   this.subProp = 'Sub property';
  9. }
  10. Sub.prototype.showSubProp = function(){
  11.   console.log(this.subProp);
  12. }
  13. // 写法一(网上的写法)
  14. Sub.prototype = new Supper()
  15. Sub.prototype.constructor = Sub
  16. // 写法二(我认为的写法)
  17. // Sub.prototype.__proto__ = new Supper()

  18. var sub = new Sub();
  19. sub.showSupperProp();
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 06:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表