立即执行函数表达式( IIFE - immediately invoked function expression)是一个立即执行的匿名函数表达式,它在Javascript中有一些很重要的用途。


(function() {
 // Do something​
 }
)()

这是一个立即执行的匿名函数表达式,它在有JavaScript一些特别重要的用途。

两对括号包裹着一个匿名函数,使匿名函数变成了一个函数表达式。于是,我们现在拥有了一个未命名的函数表达式,而不是一个全局作用域下或在任何地方定义的的简单函数。

类似地,我们也可以创建一个命名过的立即执行函数表达式:

(someNamedFunction = function(msg) {
	console.log(msg || "Nothing for today !!")
	}) (); // 输出 --> Nothing for today !!​

someNamedFunction("Javascript rocks !!"); // 输出 --> Javascript rocks !!
someNamedFunction(); // 输出 --> Nothing for today !!​

更多内容, 请参考下面链接 -

  1. 链接 1
  2. 链接 2

效率: jsPerf