JavaScript 高级函数 - 闭包
闭包(Closure)是 JavaScript 中一种非常强大的特性。它允许函数访问并操作定义它的作用域之外的数据。下面我们将探讨闭包的概念和用法。
什么是闭包?
闭包是函数和其周围状态的引用捆绑在一起形成的实体。简单来说,就是一个函数访问另一个函数作用域中的变量。
闭包的用途
- 缓存计算结果:闭包可以用来缓存计算结果,避免重复计算。
- 实现私有变量:闭包可以用来创建私有变量,这些变量对外部作用域不可见。
- 模块化代码:闭包可以帮助我们实现模块化代码,使得代码更加清晰。
例子
function createCounter() {
let count = 0;
return function() {
return count++;
};
}
const counter = createCounter();
console.log(counter()); // 0
console.log(counter()); // 1
在这个例子中,createCounter
函数返回一个新的函数,这个新函数可以访问 createCounter
的作用域中的 count
变量。
扩展阅读
想要了解更多关于闭包的知识,可以阅读本站的《JavaScript 高级函数详解》。