0
(function() {
var names = ["Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"];
provide({
getDayName: function(number) {
return names[number];
},
getDayNumber: function(name) {
for (var number = 0; number < names.length; number++) {
if (names[number] == name)
return number;
}
}
});
})();
show(getDayNumber("Wednesday"));
現在我正在閱讀eloquentjavascript.net,我在那裏發現了這樣的模塊模式。 但我覺得有點混亂,所以你可以向我解釋爲什麼我們需要把它放在函數 - >()後面。就我所知,它是自我調用的。 但爲什麼我們需要使它自我調用?模塊模式或模塊化
第二個問題爲什麼我們需要將我們的函數放在括號內(function
)()。是否只是語法?
因爲不然的話,它永遠不會運行。 – SLaks
http://stackoverflow.com/questions/8228281/what-is-this-construct-in-javascript 1)';'之前的'()'立即調用'function'。 2)'function'的另一個括號將其區分爲* Expression *,因此可以立即調用('function'語句/聲明不允許它)。 –