当前位置:嗨网首页>书籍在线阅读

02-作用域和存在

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.1 作用域和存在

很显然,当一个变量不存在时,它是没有作用域的。也就是说,尚未声明的变量,或者只存在于函数内部的变量,是没有作用域的。

反过来呢?如果变量没有作用域,就意味着它不存在吗?不一定,这就需要区分作用域和存在这两个不同的概念。

作用域(或者可见性)指的是当前可见并且可以被正在执行的代码块(称作执行上下文)访问的标识符。存在也指的是标识符,只不过它们保存了已经分配(预留)过内存的数据。后续很快会看到一些变量存在但没有作用域的例子。

当某些变量不复存在时,JavaScript不一定会立即回收内存:它只是标记这些条目不再需要保留,垃圾回收进程会定期去回收。在JavaScript中,不需要关心垃圾回收,因为这个过程是自动化的,除非应用有较高的性能要求,才需要去考虑垃圾回收。