JavaScript 函数与作用域是理解JavaScript工作原理的关键部分。以下是关于函数作用域的简要概述。

函数作用域

在JavaScript中,变量有两种作用域:全局作用域和局部作用域。

全局作用域

  • 定义在函数外部,在任何地方都可以访问。
  • 作用域贯穿整个脚本。
  • 示例代码:
var a = 10;
console.log(a); // 输出 10

局部作用域

  • 定义在函数内部,只能在函数内部访问。
  • 作用域限制在函数内部。
  • 示例代码:
function myFunction() {
  var b = 20;
  console.log(b); // 输出 20
  // b 在这里无法访问
}
myFunction();

闭包

闭包是一个函数和其词法环境(lexical environment)的引用绑定的组合。

  • 闭包允许函数访问定义在创建它的作用域中的变量。
  • 示例代码:
function createCounter() {
  var count = 0;
  return function() {
    return count++;
  }
}

var counter = createCounter();
console.log(counter()); // 输出 0
console.log(counter()); // 输出 1

JavaScript函数闭包示例

更多关于JavaScript函数和作用域的内容,可以访问我们的JavaScript教程页面