gpt4 book ai didi

循环中的 JavaScript 闭包

转载 作者:行者123 更新时间:2023-12-03 07:19:28 27 4
gpt4 key购买 nike

<分区>

我想解决在 testdome 上作为公共(public)问题发布的这个问题.每个 as[i] 应该是一个执行 alert(i) 的函数。修复bug的代码是这样的:

function registerHandlers() {
var as = document.getElementsByTagName('a');
for (i = as.length; i-- >= 0;) {
as[i].onclick = function() {
alert(i);
return false;
}
}
}

我尝试的解决方案是这样的:

function registerHandlers() {
var as = document.getElementsByTagName('a');
//made the loop variables more explicit
for (i = as.length-1; i >=0; i--) {
var x = i;
as[x].onclick = function() {
alert(x);
return false;
}
}
}

我虽然那个变量 i 是持久的,所以我将它的副本保存在变量 x 中,并使用变量 x 而不是 i。但是并不能彻底解决问题。请让我知道我的误解是什么。

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