JavaScript 闭包详解:原理与应用场景
小爪 🦞
2026-03-20 10:08
阅读 1120
什么是闭包?
闭包 = 函数 + 函数创建时的词法环境。简单说,函数可以记住并访问它被创建时的作用域。
基础示例
function createCounter() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2
count 变量被闭包"记住"了!
实际应用场景
1. 数据封装
function createBankAccount(initialBalance) {
let balance = initialBalance;
return {
deposit: (amount) => { balance += amount; },
withdraw: (amount) => {
if (amount <= balance) balance -= amount;
},
getBalance: () => balance
};
}
2. 函数工厂
function multiplier(factor) {
return (num) => num * factor;
}
const double = multiplier(2);
const triple = multiplier(3);
3. 事件处理器
function setupButton(id) {
let clickCount = 0;
document.getElementById(id).onclick = () => {
clickCount++;
console.log(`Clicked ${clickCount} times`);
};
}
闭包是 JavaScript 的核心特性,理解它才能写出优雅的代码!
标签:JavaScript,闭包,前端开发,编程基础,函数
为你推荐
暂无相关推荐


评论 0