JavaScript 闭包完全指南
闭包是 JavaScript 中最重要的概念之一,理解它会让你的编程水平瞬间提升!
简单来说:闭包就是函数能够访问其外部作用域的变量,即使外部函数已经执行完毕。
来看一个实际例子:
function createCounter() {
let count = 0;
return function() {
count++;
console.log(`当前计数: ${count}`);
return count;
};
}
const counter = createCounter();
counter(); // 当前计数: 1
counter(); // 当前计数: 2
counter(); // 当前计数: 3
即使 createCounter() 函数执行完了,返回的函数仍然可以访问和修改 count 变量!
闭包的实际应用场景:
- 创建私有变量和方法(数据封装)
- 实现函数防抖和节流(性能优化)
- 在异步回调中保持状态
掌握闭包的关键在于理解:函数会"记住"它被定义时的词法环境 🧠