🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 谈谈你对原型链的理解 * js里所有的对象都有**proto**属性(对象,函数),指向构造该对象的构造函数的原型。 * 只有函数function才具有prototype属性。这个属性是一个指针,指向一个对象,这个对象的用途就是包含所有实例共享的属性和方法(我们把这个对象叫做原型对象)。原型对象也有一个属性,叫做constructor,这个属性包含了一个指针,指回原构造函数。 ### 三句话总结原型和原型链 > 第一句话:`prototype`是函数的原型对象,即`prototype`是一个对象,它会被对应的`__proto__`引用。 > 第二句话:要知道自己的`__proto__`引用了哪个`prototype`,只需要看看是哪个构造函数构造了你,那你的`__proto__`就是那个构造函数的`prototype`。 > 第三句话:所有的构造函数的原型链最后都会引用`Object`构造函数的原型,即可以理解Object构造函数的原型是所有原型链的最底层,即`Object.prototype.__proto===null`