深入理解JS中的闭包
warning:
这篇文章距离上次修改已过442天,其中的内容可能已经有所变动。
闭包是JavaScript中一个重要的概念,它允许你从内部函数访问外部函数作用域时的变量,即使外部函数已经执行完毕。
闭包的一个常见用途是创建可以访问和修改私有变量的函数,这样可以隐藏数据,创建不可变对象,或者创建工厂模式等。
下面是一个简单的闭包例子:
function createCounter() {
let count = 0;
return function increment() {
count++;
console.log(count);
};
}
const counter = createCounter();
counter(); // 输出: 1
counter(); // 输出: 2在这个例子中,createCounter 是一个外部函数,它返回一个内部函数 increment。increment 函数可以访问并修改 createCounter 作用域中的 count 变量。即使 createCounter 函数执行完毕并返回后,increment 仍然可以访问 count 变量,因为闭包保持了这个变量的引用。
评论已关闭