深入理解JS中的闭包
闭包是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
变量,因为闭包保持了这个变量的引用。
评论已关闭