JavaScript 循環(huán)控制

2021-08-27 14:46 更新

循環(huán)控制

JavaScript 提供您完全控制來處理你的 loops 循環(huán)體和 switch 語句。可能會有這樣一種情形,你需要在還沒有到達循環(huán)體底部的時候跳出 loop 循環(huán)體。也可能存在這樣的情況,當(dāng)你想跳過一個代碼塊的一部分,想要開始下一個迭代。

為處理所有這些情況, JavaScript 提供了 breakcontinue語句。這些語句用于立即跳出來任何循環(huán)或開始下一個迭代循環(huán)。

Break 語句

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 loop2
3
4
5
Exiting the loop!  

我們已經(jīng)見過在switch語句里面使用break語句。

Continue 語句

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 loop2
3
4
6
7
8
9
10
Exiting the loop!

使用標(biāo)簽來控制流

JavaScript 1.2 ,開始,一個標(biāo)簽可以被用于 break , continue 語句去更精確地控制流。

一個標(biāo)簽僅僅是一個標(biāo)識符后跟一個冒號,應(yīng)用于聲明或代碼塊。我們將看到兩個不同的例子來理解標(biāo)簽 breakcontinue 。

注意: continuebreak 語句及其標(biāo)簽的名字之間不允許有換行符。當(dāng)然標(biāo)簽名稱和其后的的循環(huán)體之間也不應(yīng)當(dāng)有任何其他語句。

例 1

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!

例 2

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!


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號