小编pyt*_*BOI的帖子

JavaScript for循环索引的陌生感

我对JS比较新,所以这可能是一个常见的问题,但在处理for循环和onclick函数时我发现了一些奇怪的东西.我能用这段代码复制问题:

<html>
<head>

<script type="text/javascript">
window.onload = function () {
    var buttons = document.getElementsByTagName('a');
    for (var i=0; i<2; i++) {
        buttons[i].onclick = function () {
            alert(i);
            return false;
        }
    }
}

</script>

</head>

<body>
<a href="">hi</a>
<br />
<a href="">bye</a>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

点击链接时,我希望得到'0'和'1',但我得到'2'.为什么是这样?

顺便说一句,我设法通过使用'this'关键字来解决我的特定问题,但我仍然对这种行为背后的原因感到好奇.

javascript for-loop onclick

15
推荐指数
2
解决办法
5490
查看次数

标签 统计

for-loop ×1

javascript ×1

onclick ×1