gpt4 book ai didi

javascript - 函数总是产生相同的数字

转载 作者:行者123 更新时间:2023-11-29 10:12:37 26 4
gpt4 key购买 nike

<分区>

我有下面的函数,结果总是 5。我看到函数 inner 在 global context 中执行,所以结果总是 5。

我试图将整个循环包装在一个闭包中,以便它创建一个新的范围但它失败了。

var myAlerts = [];

for (var i = 0; i < 5; i++) {
myAlerts.push(
function inner() {
alert(i);
}
);
}

myAlerts[0](); // 5
myAlerts[1](); // 5
myAlerts[2](); // 5
myAlerts[3](); // 5
myAlerts[4](); // 5

谁能告诉我如何解决这里的范围界定问题?

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