在 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
变量就成为了私有变量。