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
那么,当你保留一个函数的引用时,你可以根据需要多次调用它。如果你没有引用,而只是立即调用它,它只有一次有用。这与模块模式无关。这只是简单的逻辑。你不能调用你不能引用的函数。 –