Javascript什么是自执行函数
非常好!你问的是:
❓“什么是自执行函数(Immediately Invoked Function Expression,简称 IIFE)?”
✅ 一、自执行函数(IIFE)是什么?
自执行函数就是 定义后立即执行 的函数。
不用等你手动调用,它自己执行自己!
✅ 二、语法结构如下:
(function() {console.log("我是自执行函数");
})();
或箭头函数版本:
(() => {console.log("箭头函数的 IIFE");
})();
✅ 三、关键点解释
部位 | 含义 |
---|---|
(function() { ... }) | 把函数包在 () 中,表示是表达式 |
() | 立即调用这个函数 |
🔥 重点记住:
function fn() {} // 这是声明,不能自动执行
(function fn() {})(); // 这是表达式 + 调用,能自动执行
✅ 四、为什么要用自执行函数?
-
模拟 Java 的
main()
:启动入口(function main() {console.log("Hello from JS main"); })();
-
创建私有作用域(变量不泄露)
(function() {const secret = "你访问不到我";console.log("我在自执行函数里"); })();console.log(secret); // ❌ 报错:secret is not defined
-
模块封装(早期没有模块化时的做法)
✅ 五、案例:用自执行函数封装逻辑
(() => {const name = "志超";console.log(`你好,${name}`);
})();
输出:
你好,志超
✅ 六、小技巧:带参数的自执行函数
((msg) => {console.log(`Hello ${msg}`);
})("World");
✅ 七、总结一句话:
自执行函数 = 定义 + 调用合二为一,常用于:
启动入口(像 Java 的 main)
隔离作用域(变量不污染全局)
快速执行一段逻辑
要不要我带你写一个「使用自执行函数做入口的 JS 小工具」来实战下?例如:打印时间、执行一次计算、发个 HTTP 请求等?