原型:
每一个函数都有prototype属性 称之为原型,因为这个属性的只是一个对象,也称之为原型对象。
作用:
- 存放一些属性和方法
- 在javascript中实现继承
原型链:
对象身上都有__proto__属性,这个属性指向他的原型对象,原型对象也是对象,也有__proto__属性指向原型类型对象的原型对象,这样一层一层查找就形成了原型链
每个函数function身上都有一个prototype,即显式原型(属性)
每个实例对象都有一个__proto__可称为隐式原型(属性)
实例对象的隐式原型等于它构造函数的显式原型
我们通过new构造函创建的实例对象身上有__proto__属性,这个属性指向构造函数的prototype属性,对象身上__proto__和构造函数prototype是等价的