嗨我是新來的JavaScript和我想維護someones代碼,但我似乎無法弄清楚他們在做什麼。Javascript怪異的方式聲明和調用函數
他們似乎聲明一個函數,像這樣:
(function(Module) {
Module.register(...) {
....
return ...;
};
Module.register(...) {
....
return ...;
};
}(hb.Core));
如果你想創建一個調用Module.register兩倍(這是我認爲他們正在嘗試做的)功能,不會你做以下?
function myFunction(Module) {
Module.register(...) {
...
};
Module.register(...) {
...
};
}
myfunction(Module);
而且,不知道這是不是真的有關,但他們使用的沙箱模型(他們有不同的模塊只有通過沙箱與應用程序的核心通信)。
希望有人可以幫忙。我對Javascript和前端開發非常陌生,我非常困惑。
從你向我們展示了什麼,第一部分看起來像一個錯誤。 – 2013-03-19 17:58:36
你看過http://stackoverflow.com/questions/1140089/how-does-an-anonymous-function-in-javascript-work – sircapsalot 2013-03-19 17:58:47
通過將函數包裝在圓括號中,創建了一個函數表達式,它不污染全球範圍。 – Shmiddty 2013-03-19 17:58:51