全局变量是window对象的属性;而局部变量是调用对象(call object)的属性,当执行一个函数时,函数的参数和局部变量是做为调用对象的属性来存储的,用一个彻底独立的对象来存放局部变量使js能够防止局部变量覆盖同名的全局变量的值。函数
执行环境:js解释器每次开始执行一个函数时都会为那个函数建立一个执行环境(execution context),显然执行环境就是全部js代码段执行时所在的环境。全部js函数都运行在本身独有的执行环境中,并且具备本身的调用对象,在调用对象中定义了局部变量。每一个执行环境都有与其关联的做用域链。做用域链式一个对象列表或对象链。对象