如果没有if语句,这个循环工作正常,但是只要我添加if语句就会把它变成无限循环 - 为什么?根据我的理解,继续应该让循环跳过迭代,然后正常运行?
let num=0;
while(num<10){
if(num===4){console.log("skipping "+num);
continue;
}
console.log(num++);
}
答案 0 :(得分:2)
您还需要增加num
块中的if
。在if语句之后没有它它永远不会到达num++
并且你永远不会改变num
的值,所以它保持4并且每次都进入if
。您可以在++
声明中添加if
。
let num = 0;
while(num < 10) {
if(++num === 4) {
console.log("skipping " + num);
continue;
}
console.log(num);
}
答案 1 :(得分:1)
在while
循环中,当num
增加到4
时,它会进入if
块,如果阻止,则不会在num
内增加。{ / p>
此外,您正在使用continue
跳过当前迭代中的代码并移至下一次迭代。这种情况一直在发生,而num永远不会增加,从而导致无限循环。
以下代码按照问题中的要求打印从 0到9 跳过4的数字。
let num = 0;
while(num < 10) {
if(num === 4) {
console.log("skipping " + num++);
continue;
}
console.log(num++);
}