【发布时间】:2019-08-23 02:00:42
【问题描述】:
下面的代码不是我的代码。有人可以解释一下吗?我不太了解 JavaScript,所以我不太了解它。我认为这就是为什么我不明白在 for 循环中使用 let 如何使 i 变量在循环中的每个循环中都不同?使用 var 应该做同样的事情。
<html>
<head>
<title>buttons - let and Const</title>
</head>
<body>
<h1>Buttons</h1>
<button>Button 0</button>
<button>Button 1</button>
<button>Button 2</button>
<button>Button 3</button>
<button>Button 4</button>
<button>Button 5</button>
<button>Button 6</button>
<button>Button 7</button>
<button>Button 8</button>
<button>Button 9</button>
<script>
const buttons = document.getElementsByTagName("button");
for(let i = 0; i < buttons.length; i++) {
const button = buttons[i];
button.addEventListener("click", function() {
alert("Button " + i + " Pressed");
});
}
</script>
</body>
</html>
【问题讨论】:
-
“使用 var 应该做同样的事情” ...不。它没有
-
@charlietfl 我觉得我应该这样做,因为每次循环时 i 都是不同的,因为 i 会加一。
-
是的,它确实会同时使用 var 和 let....但是如果您使用
var,它将在事件发生时达到最大值,而使用 let 是块作用域,i将保持事件发生时的值
标签: javascript