9. IIFE

作者: 牧羊少年之奇幻之旅 | 来源:发表于2018-11-15 13:30 被阅读0次

参考地址: IIFE - 中文; IIFE - 英文

IIFE(Immediately Invoked Function Expression 立即调用函数表达式)是一个在定义时就会立即执行的 JavaScript 函数。

(function () {
  // statements
})();

这是一个被称为自执行匿名函数的设计模式,主要包含两部分,第一部分是包围在 圆括号运算符()里的一个匿名函数,这个匿名函数拥有独立的词法作用域。这不仅避免了外界访问此 IIFE 中的变量,而且又不会污染全局作用域。

第二部分,再一次使用()创建了一个立即执行函数表达式,JavaScript 引擎到此将直接执行函数。

例子

当函数变成立即执行的函数表达式时,表达式中的变量不能从外部访问。

(function () {
  var aName = "Jane";
})();

// 外部作用域无法访问该变量:
aName // throws "Uncaught ReferenceError: aName is not defined"

将 IIFE 分配给一个变量,不是存储 IIFE 本身,而是存储 IIFE 执行后返回的结果。

var result = (function () {
  var name = "Jane";
  return name;
})();
// IIFE 执行后返回的结果:
console.log(result); // "Jane"

相关文章

  • 9. IIFE

    参考地址: IIFE - 中文; IIFE - 英文 IIFE(Immediately Invoked Funct...

  • JavaScript 相关概念

    IIFE IIFE:Immediately-Invoked Function Expression. 匿名函数自调...

  • JavaScript浅析 -- IIFE立即执行函数表达式

    一、什么是IIFE? 所谓IIFE(Immediately-Invoked Function Expression...

  • 02- ES6 函数声明

    1、立即执行函数表达式 IIFE 用块级作用域写法,代替立即执行函数表达式IIFE。 IIFE写法: 用“块级作用...

  • IIFE

    IIFE:Immediately-Invoked Function Expression立即执行函数:在函数创建之...

  • IIFE

    IIFE(Immediately-Invoked Function Expression) 立即执行函数表达式 上...

  • IIFE

    下面这行代码,其实不加上()也不会保错: 但是我们依然推荐加上(): 为什么?因为我们在阅读代码的时候,如果fun...

  • JavaScript 规范

    全局命名空间污染与 IIFE 总是将代码包裹成一个 IIFE(Immediately-Invoked Functi...

  • JS重要概念之立即执行函数与闭包高级

    #立即执行函数表达式IIFE,简称“立即执行函数” 立即执行函数表达式,IIFE(immediately-invo...

  • 关于立即执行函数IIFE

    [译] JavaScript:立即执行函数表达式(IIFE) IIFE保存闭包的状态 就像当函数通过他们的名字被调...

网友评论

      本文标题:9. IIFE

      本文链接:https://www.haomeiwen.com/subject/tbisfqtx.html