汪16
2017-05-12 16:15
求解 Student 的prototype为啥不直接指向Person,而要指向Person.prototype呢? 如: student-student.prototype --> person-person.prototype --> object-object.prototype --> null
首先Student.prototype 不会指向 Person.prototype;而是Student.prototype._proto_指向Person.prototype。也不存在直接指向 Person;他们之间的继承是通过原型链,一一往上继承使用的。这不是严格像Java那样继承,感觉是这样继承的形式,本质上还是有区别的。
是用 new Student出来的实例student的_proto_指向Student.prototype,而Student.prototype又等于用Object.creat()创造出来的空对象,这个空对象的原型指向Person.prototype,从而Student.prototype可以使用Person.prototype上的方法。Person.prototype又是一个对象,所以Person.prototype._proto_又指向Object.prototype。个人理解,如有误望大佬指正。
JavaScript深入浅出
281112 学习 · 1020 问题
相似问题