天天看点

JavaScript中for循环和while循环使用continue的区别

示例:求1~9中除了5之外所有数相加之和。

使用while循环中用continue的代码:

var i=1,n=0;
while(i<10){
    if(i==5){
        i++;
        continue;
    }
    n=n+i;
    i++;
}
document.write(n);
           

使用for循环中使用continue的代码:

var n=0;
for(var i=1;i<10;i++){
    if(i==5){
       continue;
    }
    else{
       n=n+i;
    }
}
document.write(n);
           

由于for循环的增量计算i++在for()内,是上次循环结束后才执行i++,所以for循环中这样使用continue是完全没有问题的。当然,上述代码中在if(i==5){}中花括号内不写任何代码,for和while循环这段代码也是正确的,空的花括号{}不执行任何操作。

错误代码:

var i=1,n=0;
while(i<10){
    if(i==5){
        continue;
    }
    n=n+i;
    i++;
}
document.write(n);
           

这个代码中while循环语句会在continue处会跳出本次循环,不再执行接下去的代码语句,变量就没有进行增量操作,导致陷入死循环。这简直就是while循环中使用continue陷入的巨坑。

继续阅读