javascript现代编程系列教程之二——IIFE

IIFE(Immediately Invoked Function Expression,立即执行函数表达式)是一个在定义后立即执行的JavaScript函数。它具有以下特点:

  1. 是一个匿名函数:通常情况下,IIFE 是一个没有名字的函数,称为匿名函数。
  2. 立即执行:这个函数在声明后立即被调用并执行,而无需手动调用。
  3. 创建局部作用域:它创建了一个新的函数作用域,从而使得在其中声明的变量不会污染全局作用域。
    IIFE 的基本语法如下:
(function() {
    // 这里插入你要执行的代码
})();

这是一个典型的IIFE。首先,在外层使用一对圆括号将整个函数表达式括起来。这可以确保 JavaScript 引擎将其视为函数表达式,而非函数声明。接着,又使用一对圆括号立即调用这个函数。
在 IIFE 内部,你可以定义变量和函数,而它们只在这个函数作用域内可见。这有助于避免全局作用域中的命名冲突和变量污染。
例如:

(function() {
    var a = 1;
    console.log(a); // 输出 1
})();
console.log(a); // 抛出 ReferenceError,因为 'a' 在 IIFE 之外不可见

如果你需要向 IIFE 传递参数,可以将参数放在立即调用的圆括号内。例如:

(function(x, y) {
    console.log(x + y); // 输出 3
})(1, 2);

总结一下,IIFE 是一个立即执行的匿名函数,用于创建局部作用域并避免全局作用域污染。这在较早版本的 JavaScript 中(如ES5)非常有用,因为当时还没有letconst来创建块级作用域。

posted @ 2023-06-13 23:10  GroundSoft  阅读(24)  评论(0编辑  收藏  举报