你对原型链的理解"/>
谈谈你对原型链的理解
谈谈你对原型链的理解
- js里所有的对象都有proto属性(对象,函数),指向构造该对象的构造函数的原型。
- 只有函数function才具有prototype属性。这个属性是一个指针,指向一个对象,这个对象的用途就是包含所有实例共享的属性和方法(我们把这个对象叫做原型对象)。原型对象也有一个属性,叫做constructor,这个属性包含了一个指针,指回原构造函数。
三句话总结原型和原型链
第一句话:
prototype
是函数的原型对象,即prototype
是一个对象,它会被对应的__proto__
引用。
第二句话:要知道自己的
__proto__
引用了哪个prototype
,只需要看看是哪个构造函数构造了你,那你的__proto__
就是那个构造函数的prototype
。
第三句话:所有的构造函数的原型链最后都会引用
Object
构造函数的原型,即可以理解Object构造函数的原型是所有原型链的最底层,即Object.prototype.__proto===null
更多推荐
谈谈你对原型链的理解
发布评论