JavaScript 提供您完全控制來處理你的 loops 循環(huán)體和 switch 語句。可能會有這樣一種情形,你需要在還沒有到達循環(huán)體底部的時候跳出 loop 循環(huán)體。也可能存在這樣的情況,當(dāng)你想跳過一個代碼塊的一部分,想要開始下一個迭代。
為處理所有這些情況, JavaScript 提供了 break 和 continue語句。這些語句用于立即跳出來任何循環(huán)或開始下一個迭代循環(huán)。
Break語句,簡要介紹了switch語句,用于早期退出循環(huán),打破封閉的花括號。
這個例子演示了在一個while循環(huán)體內(nèi)使用break語句。注意是怎樣在x 等于5之前跳出循環(huán)體到達大括號下面的. write(. .)語句。
var x = 1;
document.write("Entering the loop<br /> ");
while(x < 20){
if(x == 5){
break; // breaks out of loop completely
}
x = x + 1;
document.write( x + "<br />");
}
document.write("Exiting the loop!<br /> ");
產(chǎn)生的結(jié)果如下:
Entering the loop
2 3 4 5Exiting the loop!
我們已經(jīng)見過在switch語句里面使用break語句。
Continue語句告訴解釋器立即開始下一次迭代的循環(huán)和跳過剩余的代碼塊。
當(dāng)遇到continue語句,程序流將立即循環(huán)檢查表達式,如果條件保持真那么下個迭代開始,否則控制跳出循環(huán)體。
這個例子展示了 continue 語句在 while 循環(huán)語句的使用。當(dāng)變量x達到5時, continue 語句用于跳過 print 語句。
var x = 1;
document.write("Entering the loop<br /> ");
while(x < 10){
x = x + 1;
if(x == 5){
continue; // skill rest of the loop body
}
document.write( x + "<br />");
}
document.write("Exiting the loop!<br /> ");
產(chǎn)生結(jié)果如下:
Entering the loop
2
3
4
6
7
8
9
10
Exiting the loop!
從 JavaScript 1.2 ,開始,一個標(biāo)簽可以被用于 break , continue 語句去更精確地控制流。
一個標(biāo)簽僅僅是一個標(biāo)識符后跟一個冒號,應(yīng)用于聲明或代碼塊。我們將看到兩個不同的例子來理解標(biāo)簽 break 和 continue 。
注意: continue 或 break 語句及其標(biāo)簽的名字之間不允許有換行符。當(dāng)然標(biāo)簽名稱和其后的的循環(huán)體之間也不應(yīng)當(dāng)有任何其他語句。
document.write("Entering the loop!<br /> ");
outerloop: // This is the label name
for(var i = 0; i< 5; i++){
document.write("Outerloop: " + i + "<br />");
innerloop:
for (var j = 0; j < 5; j++){
if(j > 3 ) break ; // Quit the innermost loop
if(i == 2) break innerloop; // Do the same thing
if(i == 4) break outerloop; // Quit the outer loop
document.write("Innerloop: " + j + " <br />");
}
}
document.write("Exiting the loop!<br /> ");
將會產(chǎn)生如下的結(jié)果:
Entering the loop!
Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Outerloop: 2
Outerloop: 3
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Outerloop: 4
Exiting the loop!
document.write("Entering the loop!<br /> ");
outerloop: // This is the label name
for(var i = 0; i< 3; i++){
document.write("Outerloop: " + i + "<br />");
for(var j = 0; j < 5; j++){
if(j == 3){
continue outerloop;
}
document.write("Innerloop: " + j + "<br />");
}
}
document.write("Exiting the loop!<br /> ");
結(jié)果如下:
Entering the loop Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 2
Innerloop: 0
Innerloop: 1
Innerloop: 2
Exiting the loop!
更多建議: