为了账号安全,请及时绑定邮箱和手机立即绑定

关于es5原型继承的问题

关于es5原型继承的问题

慕后森 2019-03-14 18:15:50
关于es5继承中子构造函数原型的问题图中代码第5行 我能够理解第四行子构造函数的原型是父构造函数new出来的 Sub.protorype = new Super()所以在这里 Sub.protorype.constructor === Super 是为true的至于要把子构造函数的原型的构造函数重新指向自身的原因是什么呢 
查看完整描述

2 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

constructor只是告诉你实例是用哪个构造函数初始化的,不影响原型链


Sub.protorype.constructor = Sub;

不管上面这句写还是不写,都不影响原型链,以下代码恒为真


       Sub.prototype.__proto__.__proto__ === Object.prototype //原型链

       sub1 instanceof Super

       sub1 instanceof Sub //实例加了个1,更好区分Sub构造函数

总之,原型链取决于__proto__这个玩意,constructor只是用于检测的一个指针属性


查看完整回答
反对 回复 2019-03-24
  • 2 回答
  • 0 关注
  • 463 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信