Javascript 声明和调用函数的奇怪方式

标签 javascript function module frontend

嗨,我是 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/

相关文章:

python - 如何在python3中使用模块来赋予值(value)

python - 有单独的文件而不是类是Pythonic吗?

javascript - 普通函数与直接函数的效率?

javascript - Axios GET 请求忽略响应 Cache-Control max-age

javascript - 关于在 Javascript 和 jQuery 中隐藏 div 的标准方法的问题

c - 什么是 C 中的常量指针数组?

python - 试图计算字符串中的单词

javascript - 设置溢出 :hidden to body/html hides scrollbars but does not disable scrolling in Firefox

javascript - 仅仅因为大括号,函数就不会正确返回?

python - 带模块的可移植 Python 脚本