闭包是 JavaScript 中最重要的概念之一,理解闭包是掌握 JS 的关键。
当一个函数可以记住并访问所在的词法作用域时,就产生了闭包。
function createCounter() {
let count = 0;
return function () {
count++;
return count;
};
}
const counter = createCounter();
console.log(counter());
console.log(counter());
- 数据私有化
- 函数工厂
- 模块模式
- 回调函数中的状态保持