学习作用域、变量提升、闭包等语言特征,加深对 JavaScript 的理解,掌握变量赋值、函数声明的简洁语法,降低代码的冗余度。
作用域函数进阶解构赋值综合案例
作用域
- 局部作用域
- 全局作用域
- 作用域链
- JS 垃圾回收机制
- 闭包
- 变量提升
1、作用域
了解作用域对程序执行的影响及作用域链的查找机制,使用闭包函数创建隔离作用域避免全局变量污染。
- 作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问,
- 作用域分为:局部作用域,全局作用域
1.1 局部作用域
局部作用域分为函数作用域和块作用域。
1. 函数作用域:
在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。
报错的结果如下所示:
总结:
1. 函数内部声明的变量,在函数外部无法被访问
2. 函数的参数也是函数内部的局部变量
3. 不同函数内部声明的变量无法互相访问
4. 函数执行完毕后,函数内部的变量实际被清空了
2.块级作用域:
在 JavaScript 中使用 { } 包裹的代码称为代码块,代码块内部声明的变量外部将【有可能】无法被访问