ES6教程

ES6 IIFE

ES6 IIFE

它是一个 JavaScript 函数 一定义就运行。 IIFE(立即调用函数表达式)可用于避免块内的变量提升。它允许公开访问方法,同时保留函数中定义的变量的隐私。
IIFE 是一种设计模式,也称为 Self-Executing Anonymous功能。它包含两个主要部分:
第一部分是具有词法作用域的匿名函数,它包含在分组运算符()内。 第二部分创建 IIFE,JavaScript 引擎将通过它直接解释函数。

语法

(function () 
{
    statements
})();
// Syntax of IIFE with ES6 arrow functions (though parentheses only allowed on outside)
(() => { /* ... */ })(); 
让我们通过下面的例子来尝试理解IIFE的概念。

例子

(function()
 {
 console.log("Hello World"); 
})();
输出
Hello World

将函数转换为 IIFE

我们可以使用以下步骤将常规函数转换为 IIFE:
假设任何常规函数定义。 将该定义包裹在一对括号内,这将创建函数表达式。 最后,我们必须添加一对括号和一个分号来标记语句的结尾。
让我们在下面的例子中看到相同的插图:

例子

// Regular Function. 
function hello() 
{ 
    console.log("Regular function"); 
}; 
// Regular Function execution. 
hello(); 
  
// IIFE creation and execution. 
(function() { console.log("Immediately Invoked Function Expression"); })();
输出
Regular function
Immediately Invoked Function Expression

关于 IIFE 的要点

立即调用的函数表达式(IIFE) 有其作用域。函数表达式中声明的变量在函数外不可用。 与其他函数一样,IIFE 也可以是匿名的或命名的。 IIFE 也可以参数化。例如,

示例

(function (x, y, z) {
   console.log(x);
   console.log(y);
   console.log(z);
 })(100, 200, 300);
输出
100
200
300
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4