gpt4 book ai didi

for 循环中的 JavaScript 闭包

转载 作者:行者123 更新时间:2023-12-02 19:22:44 24 4
gpt4 key购买 nike

如此处所述 http://www.mennovanslooten.nl/blog/post/62/下面的代码仅输出“5x5”的结果,忘记了之前的任何内容。

for (x = 1; x <= 5; x++) {
for (y = 1; y <= 5; y++) {

var cords = x+"x"+y;
var el = document.getElementById(cords);
el.addEventListener("click", function (e) { B_modeWindow('1', cords); });

}
}

据我所知(上面提供的博客链接),无法弄清楚如何更改显示的代码来修复它。

如何在 for 循环中使用 JavaScript 闭包来绕过此代码?

编辑:我不明白。变量以良好的方式定义。测试:

for (x = 1; x <= 5; x++) {
for (y = 1; y <= 5; y++) {

var cords = x+"x"+y;
alert(cords);

}
}

最佳答案

使用需要关闭的任何内容作为参数来调用该函数。在本例中,就是绳子

for (x = 1; x <= 5; x++) {
for (y = 1; y <= 5; y++) {
var cords = x + "x" + y;
var el = document.getElementById(cords);

(function(cords) {
el.addEventListener("click", function (e) { B_modeWindow('1', cords); });
})(cords);
}
}

关于for 循环中的 JavaScript 闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12343177/

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