原文:使用立即执行函数表达式 - 每天一个JavaScript小知识@Js中文网 · 码农进阶题库

原文地址:https://www.javascriptc.com/interview-tips/zh_cn/javascript/Using-immediately-invoked-function-expression/

立即执行函数表达式( 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
  3. 效率 jsPerf
  4. 带你理解 JS 容易出错的坑和细节
  5. JS 原生面经从初级到高级【近1.5W字】