gpt4 book ai didi

javascript - 如何阻止for循环中的变量在JavaScript中通过引用传递

转载 作者:行者123 更新时间:2023-11-30 13:13:07 27 4
gpt4 key购买 nike

我正在分配包含链接在页面上的编号的点击次数。这是我的代码:

var aTags = document.getElementsByTagName("a");

for (var t = 0; t < aTags.length; t++){

var aTag = aTags[t];

aTag.onclick = function(){setSubMenu(t);};


}


function setSubMenu(t){

console.log("t: " + t);
//The issue is t is always evaluating to the length of aTags
//instead of the current tag.

}

我该如何解决这个问题?

最佳答案

将其包装在一个自执行的闭包中:

for (var t = 0; t < aTags.length; t++)(function(t) {

var aTag = aTags[t];

aTag.onclick = function() { setSubMenu(t); };

})(t);

关于javascript - 如何阻止for循环中的变量在JavaScript中通过引用传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13140571/

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