嗨,我是 javascript 新手,我正在尝试维护某人的代码,但我似乎无法弄清楚他们在做什么。
他们似乎声明了一个像这样的函数:
(function(Module) {
Module.register(...) {
....
return ...;
};
Module.register(...) {
....
return ...;
};
}(hb.Core));
如果您想创建一个调用 Module.register 两次的函数(我认为他们正在尝试这样做),您不会执行以下操作吗?
function myFunction(Module) {
Module.register(...) {
...
};
Module.register(...) {
...
};
}
myfunction(Module);
此外,不知道这是否真的相关,但他们正在使用沙箱模型(其中他们有不同的模块仅通过沙箱与应用程序核心通信)。
希望有人能帮忙。总的来说,我对 Javascript 和前端开发都很陌生,我很困惑。
最佳答案
重复What is the purpose of a self executing function in javascript?
这是一个自执行的匿名函数调用。您的示例是一个函数声明,您已为该函数分配了一个名称,因此它不再是匿名的。当需要将变量的范围限制为仅可用于自执行函数内的任何内容时,请使用自执行函数。
关于Javascript 声明和调用函数的奇怪方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15506954/