JS作用域
什么是JS作用域?
JS作用域也就是JS识别变量的范围
JS作用域,主要包括
1、全局作用域
2、局部作用域
3、E6的块级作用域
全局作用域:也就是定义在window
下的变量范围,在任何地方都可以访问
局部作用域:是只在函数内部定义的变量范围
块级作用域:简单来说就是用let
和const
在任意的代码块中定义的变量都认为是块级作用域中的变量,例如在for
循环中用let
定义的变量,在if
语句中用let
定义的变量等等 (JS是没有块级作用域的)
注意:尽量不要使用全局变量,因为容易导致全局的污染,命名冲突,对bug
查找不利
作用域链
JS查找变量的顺序就是作用域链
简单来说,所谓的作用域链就是由最内部的作用域往最外部查找变量的过程 形成的链条,就是作用域链