📅  最后修改于: 2021-01-01 03:57:32             🧑  作者: Mango
这是一个JavaScript函数,它会在定义后立即运行。可以使用IIFE(立即调用函数表达式)来避免从块内部进行变量提升。它允许公众访问方法,同时保留函数定义的变量的私密性。
IIFE是一种设计模式,也称为自执行匿名功能。它包含两个主要部分:
(function ()
{
statements
})();
// Syntax of IIFE with ES6 arrow functions (though parentheses only allowed on outside)
(() => { /* ... */ })();
让我们尝试通过使用以下示例来理解IIFE的概念。
(function()
{
console.log("Hello World");
})();
输出量
Hello World
我们可以通过以下步骤将常规函数转换为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
(function (x, y, z) {
console.log(x);
console.log(y);
console.log(z);
})(100, 200, 300);
输出量
100
200
300