作用域链
由多级作用域对象逐级引用形成的链式结构,当代码在一个环境中执行时,会创建变量对象的一个作用域链。
作用域链的用途是保证对执行环境有权访问的所有变量和函数的有序访问。作用域链保存着所有变量,控制着变量的使用顺序,先局部后全局。
原型链
JavaScript通过原型链实现继承。
构造函数、原型、实例的关系:
每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。原型链:由多级父元素,逐级继承,形成的链式结构。
原型链保存着对象的属性和方法,控制着对象的属性和方法的使用顺序和共享范围:先使用自用,自己没有,才用共有;越靠近原型链上层的共有成员,共享范围越广。