我見過寫自調用函數的下一個方法:自調函數和參數?
(function (app) {
app.foo = {
bar: function(){}
};
}(App));
凡App
是一個全局對象。
我想知道,爲什麼我們需要將App
作爲參數傳遞給函數?爲什麼不用這個:
(function() {
App.foo = {
bar: function(){}
};
}());
我看到使用第一種方法只有一個優點。如果我們由於某種原因重命名App
對象,那麼我們可以輕鬆地重命名括號中的參數,我們的代碼將在工作時起作用。但在第二種情況下,我們可能需要在我們使用它的所有地方重命名App
。
還有其他的區別嗎?
+1對於一個很好的補充答案 –