关于Javascript作用域链的八点总结
1. JavaScript函数的作用域链分为定义时作用域链和运行时作用域链; 2.函数被定义的时候,它有一个属性[[scope]]标明它的定义作用域链,定义时作用域链[[scope]]遵守这样的规则:一个函数的定义时作用域链[[scope]]总是它所在的外部函数的执行时作用域链; 3.全局函数的定义作用域链只包含window的属性; 4.一个函数的执行时作用域链总是在定义时作用域链的头部压入当前活动对象(它包含this,arguments,参数,局部变量); 5.函数执行时,变量寻址总是从作用域链的顶端朝下寻找;所以全局变量的寻址速度最慢; 6.内部函数被执行的时候,他仍然能够访问它完整的作用