鍍金池/ 教程/ HTML/ 循環(huán)控制
頁面打印
事件
JavaScript 內(nèi)置函數(shù)
For 循環(huán)
對象概述
正則表達(dá)式
函數(shù)
算數(shù)對象
For...in
位置結(jié)構(gòu)
瀏覽器兼容性
數(shù)字對象
錯誤 & 異常處理
啟用
文檔對象模型
動畫
循環(huán)控制
While 循環(huán)
If...Else
頁面重定向
概述
語法
多媒體
對話框
快速指南
日期對象
Cookies
調(diào)試
表單有效性驗證
布爾對象
Void 關(guān)鍵字
數(shù)組對象
變量
運算符
Switch Case
圖像映射
字符串對象

循環(huán)控制

JavaScript 提供您完全控制來處理你的 loops 循環(huán)體和 switch 語句。可能會有這樣一種情形,你需要在還沒有到達(dá)循環(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)體到達(dá)大括號下面的. write(. .)語句。

    <script type="text/javascript">
    <!--
    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 /> ");
    //-->
    </script>  

產(chǎn)生的結(jié)果如下:

    Entering the loop
    2
    3
    4
    5
    Exiting the loop!  

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

Continue 語句

Continue語句告訴解釋器立即開始下一次迭代的循環(huán)和跳過剩余的代碼塊。

當(dāng)遇到continue語句,程序流將立即循環(huán)檢查表達(dá)式,如果條件保持真那么下個迭代開始,否則控制跳出循環(huán)體。

舉例

這個例子展示了 continue 語句在 while 循環(huán)語句的使用。當(dāng)變量x達(dá)到5時, continue 語句用于跳過 print 語句。

    <script type="text/javascript">
    <!--
    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 /> ");
    //-->
    </script>

產(chǎn)生結(jié)果如下:

    Entering the loop
    2
    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

    <script type="text/javascript">
    <!--
    document.write("Entering the loop!<br /> ");
    outerloop:   // This is the label name
    for (vari = 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 /> ");
    //-->
    </script>

將會產(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

    <script type="text/javascript">
    <!--
    document.write("Entering the loop!<br /> ");
    outerloop:   // This is the label name
    for (vari = 0; i< 3; i++)
    {
    document.write("Outerloop: " + i + "<br />");
    for (var j = 0; j < 5; j++)
       {
    if (j == 3){
    continueouterloop;
      }
    document.write("Innerloop: " + j + "<br />");
       } 
    }
    document.write("Exiting the loop!<br /> ");
    //-->
    </script>

結(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!
上一篇:字符串對象下一篇:運算符