【发布时间】:2020-04-13 19:47:37
【问题描述】:
我对这个简单的 for 循环的结果有些困惑
for (var i = 0; i < 10; i++) {
console.log(i);
}
console.log 打印 i 的值从 0 到 9。
但是,当我检查 i 的值时,浏览器中的开发工具会给我 10。
有人可以向我解释为什么 i 的值在这里是 10 吗?我的循环 (i < 10) 中的条件不允许它超过 9。
如果我在这里循环一个数组,我会得到它。我会有索引值和 array.length 总是高于最高索引号。
那么谁能解释一下这是怎么回事?
[更新]感谢您的即时回复和帮助! 我赞成每一个正确的答复。但是“绿色复选标记”是给最先给出全面答案的人。
【问题讨论】:
-
i 会被赋予什么值,所以 i
-
每次迭代时 i 的值都会增加,然后检查条件。所以要最终确定循环 i 的值增加到 10,然后检查它是否大于 10,因此满足循环结束的条件。
-
i的值变为 10,但由于它不满足条件i < 10,因此不在循环内进行控制台。您可以将var i = 0更改为let i = 0
标签: javascript loops for-loop