在 JavaScript 中,闭包可以用来创建私有变量。通过立即执行函数表达式(IIFE)结构,我们可以实现这一目标。下面是一个例子:
function createCounter() {
let count = 0; // 私有变量
// 返回一个对象,包含一个可以访问和修改count的方法
return {
increment: function () {
count++;
},
getCount: function () {
return count;
},
};
}
const counter = createCounter();
counter.increment();
console.log(counter.getCount()); // 输出 1
counter.increment();
console.log(counter.getCount()); // 输出 2
在这个例子中,count
变量被封装在 createCounter
函数内部,无法从外部直接访问。我们通过返回一个包含 increment
和 getCount
方法的对象,让外部可以通过这些方法间接地访问和修改 count
变量。这样,count
变量就成为了私有变量。