关于es5原型继承的问题

关于es5继承中子构造函数原型的问题

https://img2.mukewang.com/5c96ee5c00014f7f05540644.jpg

图中代码第5行 
我能够理解第四行子构造函数的原型是父构造函数new出来的 Sub.protorype = new Super()
所以在这里 Sub.protorype.constructor === Super 是为true的
至于要把子构造函数的原型的构造函数重新指向自身的原因是什么呢 


慕后森
浏览 464回答 2
2回答

慕斯王

constructor只是告诉你实例是用哪个构造函数初始化的,不影响原型链Sub.protorype.constructor = Sub;不管上面这句写还是不写,都不影响原型链,以下代码恒为真       Sub.prototype.__proto__.__proto__ === Object.prototype //原型链       sub1 instanceof Super       sub1 instanceof Sub //实例加了个1,更好区分Sub构造函数总之,原型链取决于__proto__这个玩意,constructor只是用于检测的一个指针属性
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript