1
b/w以下兩種模式有什麼不同嗎?自執行第一個程序的優點是什麼?Javascript - Module Pattern differences
var testModule = (function() {
var counter = 0;
return {
incrementCounter: function() {
return counter++;
},
resetCounter: function() {
console.log("counter value prior to reset: " + counter);
counter = 0;
}
};
})();
testModule.incrementCounter(); // 1
下一頁:
var testModule2 = function() {
var counter = 0;
return {
incrementCounter: function() {
return counter++;
},
resetCounter: function() {
console.log("counter value prior to reset: " + counter);
counter = 0;
}
}
}
var result = testModule2();
result.incrementCounter(); //1
最明顯的區別是第一個可以只創建一個對象,而第二個可以創建多個。你在尋找什麼以外的東西? –
啊,我明白了。我沒有注意到這一點。所以第一個只允許一個對象,第二個可以包含多個? – KingKongFrog
那麼,當你保留一個函數的引用時,你可以根據需要多次調用它。如果你沒有引用,而只是立即調用它,它只有一次有用。這與模塊模式無關。這只是簡單的邏輯。你不能調用你不能引用的函數。 –