作用域
通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。
全局作用域
作用于所有代码执行的环境(整个 script 标签内部)或者一个独立的 js 文件
处于全局作用域内的变量,称为全局变量
1.全局作用域(全局变量) 生效范围(整个js文件整个script标签内)
局部作用域
局部作用域(局部变量,函数作用域) 生效范围(函数内部)
如果函数内部,变量没有声明,直接赋值,也当全局变量看,但是强烈不推荐
特殊情况:但是有一种情况,函数内部的形参可以看做是局部变量。
块级作用域
块级作用域 (块级变量)只能在循环或者判断语句使用let定义的变量,只能在花括号中生效
作用域链:
作用域链: 当你的局部作用域进行层层嵌套,形成相互依赖的结构时,我们把他称为作用域链