所有变量(包括基本类型和引用类型)都存在一个执行环境(也称为作用域)当中,这个执行环境决定了变量的生命周期,以及哪一部分可以访问其中的变量。
以下是关于执行环境的几点总结:
- 执行环境有全局执行环境(全局环境)和函数执行环境之分;
- 每次进入一个新的执行环境,都会创建一个用于搜索变量和函数的作用域链;
- 函数的局部环境不仅有权访问函数作用域中的变量,而且有权访问其包含(父)环境,乃至全局环境;
- 全局变量只能访问在全局环境中定义的变量,而不能直接访问局部环境中的任何数据;
- 变量的执行有助于确定应该何时释放内存。