有两个不同的代码:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript while</h2>
<p id="demo"></p>
<script>
var text = "";
var i = 0;
while (i < 10) {
text += "<br>num " + i;
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript while</h2>
<p id="demo"></p>
<script>
var text = "";
var i = 0;
while (i == 10) {
text += "<br>num " + i;
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
第一个代码可以完美运行,但是第二个代码却无法正常工作(不打印任何内容),你们可以吗?
答案 0 :(得分:0)
第二个代码“失败”,因为i
等于0,而不是10。就这么简单。 While循环不会执行一次迭代,因为它无法通过第一个测试i != 10
。
如果您希望它循环直到并包括 10个,请将其更改为<=
,如下所示:
var text = "";
var i = 0;
while (i <= 10) {
text += "<br>num " + i;
i++;
}
document.getElementById("demo").innerHTML = text;
编辑:
是的,可以将==
用作循环条件,但是通常在尝试增加计数器时不使用它。一个正在使用的示例如下:
var i = 0;
var condition_satisfied = false;
while (condition_satisfied == false) {
i++;
if (i >= 10) {
condition_satisfied = true
}
}
答案 1 :(得分:0)
第二个代码由于while (i == 10) {
而无法运行,它正在测试i是否等于10(强制),这永远是不正确的。
如果将我初始化为10,它将运行但只能运行一次
var text = "";
var i = 10;
while (i == 10) {
text += "<br>num " + i;
i++;
}
document.getElementById("demo").innerHTML = text;
<h2>JavaScript while</h2>
<p id="demo"></p>
答案 2 :(得分:0)
您的第一个密码是正确的,它将打印
num 0
num 1
num 2
但是在您的第二秒中,因为变量被设置为“ 0”,所以它永远不会进入循环。
答案 3 :(得分:0)
我想所有人都在说,虽然循环代码仅在条件为true且条件为false且循环终止时才运行,但在第二个代码 i = 0; 中,而循环检查< strong> i(平均0)== 10 完全是错误的,而循环是在第一次结束的。