为什么 or 语句在 for 循环中不起作用?

问题描述 投票:0回答:1

我正在查看 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(
&&
),那么它就可以工作。 这是为什么?

javascript html for-loop variables client-side-scripting
1个回答
0
投票

i < 10 || i !== 3
将始终为
true
,因此循环将永远继续并挂起浏览器。

© www.soinside.com 2019 - 2024. All rights reserved.