常用立即函数写法

常用立即函数写法

立即执行函数表达式(IIFE,Immediately Invoked Function Expression)是一种在定义时立即执行的 JavaScript 函数。除了你提到的写法,还有以下几种常见的写法:


1. 经典写法(最常用)

(function() {
    console.log("IIFE 执行了");
})();

2. 将函数包裹在括号中

(function() {
    console.log("IIFE 执行了");
}());

3. 使用 void​ 操作符

void function() {
    console.log("IIFE 执行了");
}();

4. 使用一元运算符(如 +​, -​, !​, ~​ 等)

+function() {
    console.log("IIFE 执行了");
}();
!function() {
    console.log("IIFE 执行了");
}();

5. 使用 new​ 关键字

new function() {
    console.log("IIFE 执行了");
};

6. 使用箭头函数(ES6+)

(() => {
    console.log("IIFE 执行了");
})();

7. 带参数的 IIFE

(function(a, b) {
    console.log(a + b);
})(1, 2);

8. 异步 IIFE(支持 await​)

(async function() {
    const result = await fetch('https://example.com');
    console.log(result);
})();

9. 使用 let​ 或 const​ 块级作用域(ES6+)

{
    const message = "IIFE 执行了";
    console.log(message);
}

总结

  • 最常见的写法是 (function() {})()​ 或 (function() {}())​。
  • 其他写法(如 void​、一元运算符等)主要是为了确保函数被解析为表达式而非声明。
  • 现代 JavaScript 中,块级作用域({}​)可以替代部分 IIFE 的使用场景。

选择哪种写法取决于个人偏好和代码风格,但经典写法是最广泛接受和使用的。

image.png

留下你的脚步
推荐阅读