gpt4 book ai didi

javascript - 如何将变量传递给嵌套函数?

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

我最近开始使用createjs并遇到了这个问题(与createjs没有任何关系):

for (a in ship.weapon) {

//code
button[a].addEventListener("click", function() {

ship.weapon[a].amount = ship.weapon[a].amount.plus(1);
});
//code
}

按下按钮时的“a”变量当然是ship.weapon数组的长度。那么我该如何做才能使 click 函数中的“a”保持在 for 循环创建时的值呢?

最佳答案

您可以使用闭包来卡住a

for (a in ship.weapon) {

(function(index) {
button[index].addEventListener("click", function() {

ship.weapon[index].amount = ship.weapon[index].amount.plus(1);
});
})(a); // calls the function I just defined passing 'a' as parameter
}

关于javascript - 如何将变量传递给嵌套函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27170490/

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