Bootstrap

IIFE - 立即执行函数

IIFE 是 “Immediately Invoked Function Expression” 的缩写,即“立即调用函数表达式”。它是一种在 JavaScript 中常用的设计模式,主要用于创建一个新的作用域来避免变量污染全局作用域。

IIFE 的基本形式

一个典型的 IIFE 结构如下:

(function() {
    // 这里是代码块
    var x = 10;
    console.log(x); // 输出 10
})();

或者使用箭头函数的形式:

(() => {
    // 这里是代码块
    var x = 10;
    console.log(x); // 输出 10
})();

工作原理

  • 函数表达式:IIFE 是一个函数表达式,而不是函数声明。函数表达式可以立即执行。
  • 立即调用:在定义函数后立即调用它。通常通过在函数表达式外部加上括号 () 来实现立即调用。
  • 作用域隔离:IIFE 创建了一个独立的作用域,函数内部定义的变量不会污染外部的全局作用域。这对于避免变量名冲突特别有用。

使用场景

  1. 避免全局变量污染:在大型应用程序中,使用 IIFE 可以避免命名冲突。
  2. 模块化开发:在模块化开发中,IIFE 可以用来封装模块,确保模块内部的变量和函数不泄露到全局作用域。
  3. 立即执行逻辑:需要在脚本加载时立即执行某些逻辑,而不需要在全局作用域中保留这些逻辑的函数。

IIFE 是一种非常实用的 JavaScript 编程技巧,尽管在现代 JavaScript 中,随着模块系统(如 ES6 模块)的引入,它的使用频率有所降低,但在某些场景中仍然非常有用。

;