gpt4 book ai didi

javascript - 立即调用函数表达式应该如何使用以及与 window.onload 有何区别?

转载 作者:行者123 更新时间:2023-12-02 14:31:21 25 4
gpt4 key购买 nike

我最近偶然发现了 IIFE,并对它们的用途很感兴趣。据我所知,它们用于自动调用函数,从而无需创建函数并在窗口加载时调用它。但是,应该如何正确使用它们呢?例如,这个:

window.addEventListener("load", function(){
console.log("hello");
})

做同样的事情:

(
function(){
console.log("Hello");
}();
)

那么什么时候应该使用 IIFE 呢?作为一个附加问题。两者有什么区别?

最佳答案

立即调用的函数表达式立即运行。

事件监听器或事件处理程序很可能不会。

var foo = "Old value";
(function() {
console.log("Updating value");
foo = "Variable has been updated";
})();
console.log(foo); // "Variable has been updated";

var foo = "Old value";
document.addEventListener('DOMContentLoaded', function() {
console.log("Updating value, but it's too late");
foo = "Variable has been updated";
});
console.log(foo); // "Old value";

关于javascript - 立即调用函数表达式应该如何使用以及与 window.onload 有何区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37796267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com