嗨我是新来的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