在 JavaScript 中,閉包可以用來(lái)創(chuàng)建私有變量。通過(guò)立即執(zhí)行函數(shù)表達(dá)式(IIFE)結(jié)構(gòu),我們可以實(shí)現(xiàn)這一目標(biāo)。下面是一個(gè)例子:
function createCounter() {
let count = 0; // 私有變量
// 返回一個(gè)對(duì)象,包含一個(gè)可以訪問(wèn)和修改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
在這個(gè)例子中,count
變量被封裝在 createCounter
函數(shù)內(nèi)部,無(wú)法從外部直接訪問(wèn)。我們通過(guò)返回一個(gè)包含 increment
和 getCount
方法的對(duì)象,讓外部可以通過(guò)這些方法間接地訪問(wèn)和修改 count
變量。這樣,count
變量就成為了私有變量。