我正在学习MDN
上的JavaScript函数我遇到了一个与此相似的例子:
var saySomething = ( function(){console.log("hello")} )();
我也在jQuery源代码中看到了这一点。
我没有在MDN函数reference上找到这种函数调用/定义的任何解释。
我知道在运行代码时它会在JavaScript引擎解释后立即调用它。
这是Grouping Operator在行动吗?在哪里说:
()
紧跟着它,它会被调用吗?答案 0 :(得分:2)
Google"立即调用函数表达式"或" IIFE"。
一般语法如下所示:
(function(){
// do something here
})():
有时你也会看到传入的参数。它基本上用于包装代码,因此没有任何变量泄漏到全局命名空间中。