gpt4 book ai didi

javascript - 为什么 JavaScript 在 for 循环中提示 3 时总是提示 4?

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

为什么当 for 循环是 3 时,这个 JavaScript 总是提示 4?

// alert
function reOrderLayers(layerToaAlter) {
alert(layerToaAlter);
}

// prepare
var laCount;
for (laCount = 1; laCount <= 3; laCount++) {
var la = document.getElementById("layerChanger"+laCount);
la.addEventListener("click", function () { reOrderLayers(laCount) });
}

最佳答案

当循环完成时意味着i>3,为了在函数调用中保留特定数字,请使用闭包:

  la.addEventListener("click", (function(count) { return function () { reOrderLayers(count) } })(laCount)  );

关于javascript - 为什么 JavaScript 在 for 循环中提示 3 时总是提示 4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12414271/

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