理解js原型链__proto__与prototype的关系
js cdn 参考链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
1.
每个实例对象( object )都有一个私有属性(称之为__proto__)
// 定义函数Aa()
function Aa() {}
// 实例化对象bb
var bb = new Aa();
// 每个实例对象( bb )都有一个私有属性(称之为__proto__)
bb.__proto__
2.
__proto__指向它的构造函数的原型对象(prototype )
// __proto__指向它的构造函数的原型对象(prototype)
bb.__proto__ === Aa.prototype
3.
该原型对象也有一个自己的原型对象( __proto__ )
// 该原型对象也有一个自己的原型对象( __proto__ )
Aa.prototype.__proto__
4.
层层向上,直到一个对象的原型对象为 null
// 层层向上
Aa.prototype.__proto__ === Object.prototype
// 直到一个对象的原型对象为null
Object.prototype.__proto__
5.
根据定义,null 没有原型,并作为这个原型链中的最后一个环节
注:对于新手来说,实在不理解就背过吧,背过+多看几遍=理解x80%
发表评论 (审核通过后显示评论):