题目
如何理解原型与原型链?
参考答案
- 构造函数有个prototype对象(原型),该对象有个“constructor”属性,指向构造函数。
每个对象都有一个“proto”属性,指向它的构造函数的“prototype”属性。 - 构造函数的prototype对象,也有一个“proto”对象,它指向Object的prototype对象。
- 当我们访问对象中的属性时候,会先访问该对象中的本身的属性(私有属性),如果访问不到,会查找对象的“proto”指向的构造函数的prototype对象,如果其中有要访问的属性,就使用该值,否则继续访问prototype的“proto”,在其中查找要访问属性。这样一直上溯到Object对象。这个就是“原型链”。