原型和原型链

原型链的形成真正是靠__proto__ 而非prototype,

当JS引擎执行对象的方法时,先查找对象本身是否存在该方法,

如果不存在,会在原型链上查找,但不会查找自身的prototype。
一个对象的__proto__记录着自己的原型链,决定了自身的数据类型,改变__proto__就等于改变对象的数据类型。
函数的prototype不属于自身的原型链,它是子类创建的核心,决定了子类的数据类型,是连接子类原型链的桥梁。
在原型对象上定义方法和属性的目的是为了被子类继承和使用。

posted @ 2017-05-09 12:20  boyanh  阅读(178)  评论(0编辑  收藏  举报