gpt4 book ai didi

javascript - 为什么要自执行匿名函数

转载 作者:行者123 更新时间:2023-11-30 07:15:36 25 4
gpt4 key购买 nike

今天我遇到了自执行函数,不知何故我最终知道了自执行匿名函数,然后我读了这篇文章:http://briancrescimanno.com/how-self-executing-anonymous-functions-work/

问题是我不知道为什么要使用自执行匿名函数,因为如果我需要做类似的事情:

var test = "a";
(function(foo) {
alert(foo);
})(test);

我可以做类似的东西:

var test = "a";
alert(foo);

还是我错过了什么?

这也可以对函数内的任何代码完成,但我使用 alert() 来简化


更新:

即使我已经接受并回答了我也想分享一些我发现的东西,如果以后有人遇到这个问题的话:)

使用这种表示法,我们还可以像下面这样进行无限循环:

(function loop(){
// do something here
loop();
)();

最佳答案

使用 IIFE 的原因有几个:

1)不乱扔垃圾

var a = 'foo';
alert(a);

对比

(function() {
var a = 'foo';
alert(a);
}())

两个示例做同样的事情,但在第二个示例中,外部范围内没有变量。

2)状态捕获

var a = 'foo';
window.setTimeout(function() { alert(a); }, 1);
a = 'bar';

对比

var a = 'foo';
window.setTimeout( (function(a_copy) {
return function() { alert(a_copy); }
}(a)), 1);
a = 'bar';

第一个示例提示 bar,而第二个示例提示 foo。您会发现这种技术尤其适用于循环。

关于javascript - 为什么要自执行匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20142191/

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