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