Bootstrap

在JavaScript中怎样实现闭包?

在许多编程语言中,闭包是通过在一个函数内部定义另一个函数,并返回该内部函数,从而形成闭包的。

下面是一个在JavaScript中实现闭包的示例:

function outerFunction() {
  var outerVariable = "Hello";

  function innerFunction() {
    console.log(outerVariable);
  }

  return innerFunction;
}

var closure = outerFunction();
closure(); // 输出 "Hello"

在上面的例子中,innerFunction是内部函数,它可以访问outerFunction函数内的outerVariable变量。当outerFunction被调用时,它返回innerFunction,并将其赋值给closure变量。然后,我们可以调用closure函数,它将打印出outerVariable的值。

闭包的一个重要特性是,即使外部函数已经执行完毕并返回,内部函数仍然可以访问外部函数的变量。这是因为内部函数仍然保留了对外部函数作用域的引用,形成了闭包。

;