原型
原型分为两种
prototype
- 每一个函数都会有prototype属性,被称为
显式原型
。
__proto__
- 每一个实例对象都会有__proto__属性,其被称为
隐式原型
。
constructor
每一个prototype原型上都会有一个constructor属性,指向它关联的构造函数。
原型链
- 获取对象时,如果这个对象身上本身没有这个属性时,它就会去他的原型
__proto__
上去找,如果还找不到,就去原型的原型上去找…一直找到最顶层(Object.prototype
)为止,Object.prototype对象也有__proto__
属性值为null。
这里需要注意的是,Object是原型链的最顶层,所有构造函数的prototype都指向Object.prototype