原型和原型链

58 阅读1分钟

原型:

每一个函数都有prototype属性 称之为原型,因为这个属性的只是一个对象,也称之为原型对象。

作用:

  1. 存放一些属性和方法
  2. 在javascript中实现继承 image.png

原型链:

对象身上都有__proto__属性,这个属性指向他的原型对象,原型对象也是对象,也有__proto__属性指向原型类型对象的原型对象,这样一层一层查找就形成了原型链

每个函数function身上都有一个prototype,即显式原型(属性)
每个实例对象都有一个__proto__可称为隐式原型(属性)
实例对象的隐式原型等于它构造函数的显式原型

我们通过new构造函创建的实例对象身上有__proto__属性,这个属性指向构造函数的prototype属性,对象身上__proto__和构造函数prototype是等价的

image.png