gpt4 book ai didi

javascript - 我怎样才能通过闭包问题来增加全局变量

转载 作者:行者123 更新时间:2023-11-28 02:09:20 27 4
gpt4 key购买 nike

我有一个简单的目标,我想增加一个变量,但我面临着闭包问题。我已经读过为什么会发生这种情况 How do JavaScript closures work?

但我找不到问题的解决方案:/

让我们假设这部分代码是我从链接中获取的。

function say667() {
// Local variable that ends up within closure
var num = 666;
var sayAlert = function() { alert(num); //incrementation
}
num++;
return sayAlert;
}

我想在函数内增加 num 并保留对 num 的更改。

我怎样才能做到这一点?

这是我遇到问题的 JsFiddle,我不知道如何增加我的 TotalSize 并保持它。

http://jsfiddle.net/knLbv/2/

我不想要一个以闭包结尾的局部变量。

最佳答案

从你的 fiddle 来看,我猜问题是闭包的混合(totalSize 应该在循环之外)和 query.exec 是异步的(这个可以是使用一些 console.log 进行验证)。

您似乎需要某种控制流,例如 async.reduce

关于javascript - 我怎样才能通过闭包问题来增加全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17338823/

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