每日一题day5:介绍一下js的原型与原型链

93 阅读1分钟

1.原型(prototype):是function对象的一个属性,定义了构造函数创造出的对象的公共祖先,通过该构造函数产生的对象,可以继承该原型的属性和方法
简单说,函数的prototype属性是每个函数都拥有的,都指向一个对象,也就是实例对象。

通过函数名.protopyte访问

默认两个属性:

constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针。
在Firefox、Safari和Chrome中,每个对象都支持一个属性__proto__,可用来访问[[Prototype]]

image.png 2.原型链:基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。

image.png

以读取模式访问一个实例属性,首先会在实例中搜索该属性。如果没有找到该属性,则会继续搜索实例的原型。在通过原型链实现继承的情况下,搜索过程就得以沿着原型链继续向上。