作用域链和原型链的理解

作用域链:函数执行会形成一个私有的作用域,形参和在当前私有作用域中声明的变量都是私有变量,当前的私有作用域有自我保护机制,私有变量中遇到一个非私有的变量,则向它的上级作用域找,如果还不是上级作用域私有的,则继续向上查找,一直找到window为止。这种变量一层层向上查找的机制:作用域链机制。

原型链:

 实例在自己的私有属性中进行查找,如果不是私有属性,基于__proto__向所属类的原型上进行查找,如果在找不到,则继续基于__proto__向上查找,一直找到object.prototype为止,例如:

 obj.hasOwnProperty() 这里调取的hasOwnProperty这个属性就是找到object.prototype才找到的。

你可能感兴趣的:(作用域链和原型链的理解)