[英]Replace for loop with a while loop?
目的是使用while循环仅将0到101的偶数打印到网页上。 我已经使用for循环有效地完成了此操作,但是我必须按照说明使用while循环,但我无法正常工作。
有效的for循环:
for (var loopCounter = 0; loopCounter >= 0 && loopCounter <= 101; loopCounter++){
if (loopCounter % 2 == 0){
document.write(loopCounter + '<br/>')
}
}
我试图使while循环尽可能类似于for循环,但是当我使用下面的代码时,我的页面甚至都不会加载,更不用说打印数字了。
var loopCounter = 0;
while (loopCounter >= 0 && loopCounter <= 101){
while (loopCounter % 2 == 0){
document.write(loopCounter + "<br/>");
loopCounter++;
}
}
非常感谢您的帮助,我对JavaScript还是很陌生,如果我使用while循环错误,请不要解雇我。
几乎可以理解,只需更改循环类型并添加停止条件,内部IF即可保持不变:
var loopCounter = 0;
while (loopCounter <= 101){
if (loopCounter % 2 == 0){
document.write(loopCounter + "<br/>");
}
loopCounter++;
}
此外,loopCounter变量不仅应在偶数时始终增加,因此应在IF之外,否则仅在偶数时才递增。 另外,我认为在此示例中无需检查loopCounter变量是否小于零。 希望我能帮上忙
let loopCounter = 0;
while (loopCounter <= 101){
//Change the second while for an if.
if (loopCounter % 2 == 0){
document.write(loopCounter + "<br/>");
}
// Also, you must place the loopCounter++ after the if statement.
loopCounter++;
}
看这个例子,为什么很难? 将while与if结合
您可以修改代码以适合您的需求
https://jsfiddle.net/jg972s8p/
<script>
function myFunction() {
var tmp = "";
var loopCounter = 0;
while (loopCounter >= 0 && loopCounter <= 101){
if (loopCounter % 2 == 0)
{
tmp = tmp + loopCounter.toString() + "<br>";
}
loopCounter++;
}
return tmp
}
document.getElementById("demo").innerHTML = myFunction();
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.