JavaScript 高级函数 - 闭包

闭包(Closure)是 JavaScript 中一种非常强大的特性。它允许函数访问并操作定义它的作用域之外的数据。下面我们将探讨闭包的概念和用法。

什么是闭包?

闭包是函数和其周围状态的引用捆绑在一起形成的实体。简单来说,就是一个函数访问另一个函数作用域中的变量。

闭包的用途

  1. 缓存计算结果:闭包可以用来缓存计算结果,避免重复计算。
  2. 实现私有变量:闭包可以用来创建私有变量,这些变量对外部作用域不可见。
  3. 模块化代码:闭包可以帮助我们实现模块化代码,使得代码更加清晰。

例子

function createCounter() {
  let count = 0;
  return function() {
    return count++;
  };
}

const counter = createCounter();
console.log(counter()); // 0
console.log(counter()); // 1

在这个例子中,createCounter 函数返回一个新的函数,这个新函数可以访问 createCounter 的作用域中的 count 变量。

扩展阅读

想要了解更多关于闭包的知识,可以阅读本站的《JavaScript 高级函数详解》。

JavaScript_Closure