作用域

21 阅读1分钟

全局作用域:全局作用域是指在整个脚本或函数外部声明的变量和函数。这些变量和函数可以在脚本或函数的任何地方被访问 局部作用域:局部作用域是指在函数内部声明的变量和函数。这些变量和函数只能在声明它们的函数内部被访问,不能在外部被访问 块级作用域:块级作用域是指在代码块(如if语句、for循环等)内部声明的变量和函数。在ES6之前,JavaScript没有块级作用域的概念,但随着letconst关键字的引入,现在可以在块级作用域中声明变量和函数。 作用域链:作用域链是指当一个函数内部尝试访问一个变量时,如果该变量在当前函数的局部作用域中找不到,则会向上一级作用域查找,直到找到该变量或到达全局作用域为止。作用域链确保了变量的正确访问和生命周期管理。 闭包:闭包是一种特殊的函数,它能够记住并访问其创建时的词法环境。即使闭包在其词法环境之外执行,它仍然能够访问那些环境中的变量。