示例:求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陷入的巨坑。