原型概念
构造函数天生自带的prototype 属性, 可以添加一些方法,给该构造函数的实例使用
prototype定义
每一个函数天生自带一个属性,叫做prototype,是一个对象属性类型
__proto__定义
每一个对象天生自带一个属性,叫做__proto__,指向所属构造函数的prototype
原型链
概念:使用__proto__串联起来的对象链状结构
你从任何一个对象出现,按照 __proto__去查找,最终都能走到object.prototype
我们管 object.prototype 叫做顶级原型
作用:为了对象访问机制出现
当你访问一个对象的成员的时候,会首先在自己身上查找
如果自己身上有,就直接使用,停止查找
如果自己身上没有,会自动去自己的__prototy__上去查找
如果自己的 __prototy__上还是没有,那么就会自动去__prototy__上去查找
按照我们__prototy__串联起来的对象链状结构逐层查找
直到Object.prototy(顶级原型)都没有,才会返回undefiend
··