JavaScript函数评估自身并同时调用自身

时间:2015-03-10 01:38:21

标签: javascript

我正在学习MDN

上的JavaScript函数

我遇到了一个与此相似的例子:

var saySomething = ( function(){console.log("hello")} )();

我也在jQuery源代码中看到了这一点。

我没有在MDN函数reference上找到这种函数调用/定义的任何解释。

我知道在运行代码时它会在JavaScript引擎解释后立即调用它。

这是Grouping Operator在行动吗?在哪里说:

  1. 首先评估此功能的主体并将其返回
  2. 由于括号()紧跟着它,它会被调用吗?

1 个答案:

答案 0 :(得分:2)

Google"立即调用函数表达式"或" IIFE"。

一般语法如下所示:

(function(){
// do something here
})():

有时你也会看到传入的参数。它基本上用于包装代码,因此没有任何变量泄漏到全局命名空间中。