提问人:Aiden Berry 提问时间:9/26/2023 最后编辑:Aiden Berry 更新时间:9/26/2023 访问量:44
为什么 or 语句不能在 for 循环中工作?[关闭]
Why won't or statement work in a for loop? [closed]
问:
我正在查看 w3schools JavaScript 教程,发现了一些导致它崩溃的东西。我试图在for循环的第二个语句中用相同的内容替换break语句。这并不是真正的问题,我只是觉得有些地方我不明白。
这是他们拥有的代码:
<html>
<body>
<h2>JavaScript Loops</h2>
<p>A loop with a <b>break</b> statement.</p>
<p id="demo"></p>
<script>
let text = "";
for (let i = 0; i < 10; i++) {
if (i === 3) { break; }
text += "The number is " + i + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
而且它工作得很好。然后我把它改成这样:
<html>
<body>
<h2>JavaScript Loops</h2>
<p>A loop with a <b>break</b> statement.</p>
<p id="demo"></p>
<script>
let text = "";
for (let i = 0; i < 10 || i !== 3; i++) {
text += "The number is " + i + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
然后,如果我运行它,网页就会崩溃。
如果我将 or() 更改为 and(),那么它就可以工作了。
为什么会这样?||
&&
答:
0赞
Alexander Nenashev
9/26/2023
#1
i < 10 || i !== 3
将始终是 OR 和 因此 .因此,循环将永远持续并挂起浏览器。true
i < 10
i >= 10
i !== 3
语句的第二部分是一个条件:for
for (initialization; condition; afterthought)
在每个周期开始时对其进行评估,以及循环是否会在下一个周期继续进行。
让它总是使循环永远运行。true
true
评论
i
小于 10,或者如果不是 3,它将执行循环。当大于 10 时,它是什么?当然不是 3。所以条件总是真的。i
for (let i = 0; i < 10; i++) { if (i === 3) { break; } }
for (let i = 0; i < 3; i++) {