js原型与原型链

tech2022-07-12  187

原型

1.prototype

每个函数对象下都有一个prototype属性,这个属性指向函数的原型对象。

2.proto

js 的每个对象(除null外)中都会有一个__proto__属性,这个属性会指向该对象的原型。

3.constructor

每个原型中都有一个constructor属性,指向它关联的构造函数。

原型链

当查找一个属性或方法时,如果在当前对象中找不到,会继续在当前对象的原型对象中查找;如果原型对象中依然没有找到,会继续在原型对象的原型中查找(原型也是对象,也有它自己的原型);直到找到为止,或者查找到最顶层的原型对象中也没有找到,就结束查找,返回 undefined。这个查找过程是一个链式的查找

当读取实例的属性时,如果找不到,就会查找与对象关联的原型中的属性,如果还查不到,就去找原型的原型,一直找到最顶层(Object.prototype)为止。Object.prototype对象也有__proto__属性值为null。

最新回复(0)