调用对象

全局变量是window对象的属性;而局部变量是调用对象(call object)的属性,当执行一个函数时,函数的参数和局部变量是作为调用对象的属性来存储的,用一个完全独立的对象来存放局部变量使js可以防止局部变量覆盖同名的全局变量的值。



执行环境:js解释器每次开始执行一个函数时都会为那个函数创建一个执行环境(execution context),显然执行环境就是所有js代码段执行时所在的环境。所有js函数都运行在自己独有的执行环境中,而且具有自己的调用对象,在调用对象中定义了局部变量。每个执行环境都有与其关联的作用域链。作用域链式一个对象列表或对象链。

转载于:https://my.oschina.net/u/1992917/blog/359850