闭包是 JavaScript 中一个非常重要的概念。
基础概念: 在 JavaScript 中,当一个内部函数引用了外部函数的变量时,就形成了闭包。闭包使得函数可以“记住”并访问其所在的词法作用域,即使函数在其词法作用域之外执行。
优势:
类型:
应用场景:
例如,以下是一个简单的闭包实现私有变量的示例代码:
function createCounter() {
let count = 0;
return {
increment: function() {
count++;
return count;
},
decrement: function() {
count--;
return count;
}
};
}
const counter = createCounter();
console.log(counter.increment()); // 1
console.log(counter.increment()); // 2
console.log(counter.decrement()); // 1
在这个例子中,count
变量被封装在 createCounter
函数内部,通过闭包,increment
和 decrement
方法可以访问和修改 count
的值,但从外部无法直接访问 count
。
领取专属 10元无门槛券
手把手带您无忧上云