内环显然卡住了

0TT*_*TT0 0 javascript loops

当我运行以下代码时,它仅记录一个循环;但是,当我删除内部循环时,它会按预期运行所有5次。我在俯视什么?

for (var i = 0; i < 5; i++) {
  var fieldset = document.getElementsByTagName("fieldset")[i];
  console.log("fieldset", i);
  var params = [];
  for (var i = 0; i < 5; i++) {
    params.push(fieldset.getElementsByTagName("input")[i].value);
  }
  console.log(params);
}
Run Code Online (Sandbox Code Playgroud)

Der*_*Kat 5

i在两个循环中都使用了相同的变量。


包括并扩展作为对此答案的评论发布的信息:

使用相同的变量只是一个问题,因为您使用了关键字var。如果您使用关键字let而不是var,就不会有问题。

这是因为var是功能范围的,let而是块范围的。