共计 528 个字符,预计需要花费 2 分钟才能阅读完成。
通常来说,一段代码中所用到的名字并不总是有效和可用的,而限定这名字的可用性的代码范围就是这个名字的作用域
作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突
全局作用域
全局有效
作于所有代码执行的环境(整个 script 标签内部)或者是一个单独的 js 文件
局部作用域
局部有效
作用于函数内的代码环境,就是局部作用域。因为跟函数有关系,也称为函数作用域
块级作用域
{ } 内有效
块级作用域由 { } 包括,if 语句和 for 语句里面的 { } 等
全局变量
函数外部 let 的变量
全局变量在任何区域都可以访问和修改
局部变量
函数内部 let 的变量
局部变量只能在当前函数内部访问和修改
块级变量
{ } 内部的 let 变量
let 定义的变量,只能在快作用域里访问,不能跨块访问,也不能跨函数访问
作用域链
- 如果函数中还有函数,那么这个作用域中就又可以诞生一个作用域
- 根据在内部函数可以访问外部函数变量的这种机制,用链式查找决定哪些数据能被内部函数访问,就称做作用域链
函数内部的变量,只能给内部使用,函数外面不能使用
嵌套的函数,里层嵌套的函数可以使用外层函数的变量,外层的函数无法使用里层函数的变量
如果函数内部或者块级作用域内部,变量没有声明,直接赋值,也当 全局变量 来看
函数内部的形参可以看作是局部变量
正文完
发表至: 笔记
2024-05-20