javascript - 未知的 javascript 函数声明模式

标签 javascript

我以前从未见过这种设计模式,它是做什么的?

(function(def){
    if(typeof module!='undefined'){
        module.exports=def;
    }
    else{
        this.nut=def;
    }
}( function(){
   ...
}() ));

最佳答案

正如 Ben Alman 所说,这是一个“立即调用的函数表达式”。定义的第一个函数采用一个参数 def。将此函数括在括号中并向其传递第二个函数定义(也在括号中)会立即调用第一个函数,并将第二个函数的结果(也会立即调用)作为 def 参数传递给它。

更多信息:http://benalman.com/news/2010/11/immediately-invoked-function-expression/

关于javascript - 未知的 javascript 函数声明模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872566/

相关文章:

javascript - 在 for-in 循环中访问前一个键/值

javascript - 如何从 Angular Firebase 获取 2019 年的数据?

javascript - 在 OpenLayers 4 中的两个坐标之间画一条线

javascript - 使用utf-8时可以使用charCodeAt()吗?

javascript - 不使用 jQuery 在 Android WebView 中过滤 DOM 元素

javascript - 自定义/样式提示窗口?

javascript - before 和 beforeEach 在 Cypress 中究竟是如何工作的?

javascript - 环回:更改模型文件夹结构

javascript - 为什么这个三元会抛出错误而不是评估为 false?

php - 如何从 Controller 将 Assets (JS) 包含到布局中 - CakePHP