官术网_书友最值得收藏!

3.3 跳轉語句

視頻講解

假設在一個書架中尋找一本《新華字典》,如果在第二排第三個位置找到了這本書,那么就不需要去看第三排、第四排的書了。同樣,在編寫一個循環語句時,當循環還未結束就已經處理完了所有的任務,就沒有必要讓循環繼續執行下去,繼續執行下去既浪費時間又浪費內存資源。在JavaScript中提供了兩種用來控制循環的跳轉語句:continue語句和break語句。

3.3.1 continue語句

continue語句用于跳過本次循環,并開始下一次循環。其語法格式如下:

    continue;

注意

continue語句只能應用在while、for、do…while語句中。

例如,在for語句中通過continue語句輸出10以內不包括5的自然數的代碼如下:

    01  for(i=1;i<=10;i++){
    02      if(i==5) continue;       //如果i等于5就跳過本次循環
    03      document.write(i+"\n");  //輸出變量i的值
    04  }

運行結果為:

    1 2 3 4 6 7 8 9 10

說明

當使用continue語句跳過本次循環后,如果循環條件的結果為false,則退出循環,否則繼續下一次循環。

【例3.10】萬達影城7號影廳的觀眾席有4排,每排有10個座位。其中,1排6座和3排9座已經出售,在頁面中輸出該影廳當前的座位圖。關鍵代碼如下:(實例位置:資源包\源碼\03\3.10)

    01  <script type="text/javascript">
    02  document.write("<table align='center'>");                //輸出表格標簽
    03  for(var i = 1; i <= 4; i++){                             //定義外層for循環語句
    04     document.write("<tr height=70>");                     //輸出表格行標簽
    05     for(var j = 1; j <= 10; j++){                         //定義內層for循環語句
    06        if(i == 1 && j == 6){                              //如果當前是1排6座
    07           //將座位標記為“已售”
    08           document.write("<td align='center' width=80 background=yes.png>已售</td>");
    09           continue;                                       //應用continue語句跳過本次循環
    10        }
    11        if(i == 3 && j == 9){                              //如果當前是3排9座
    12           //將座位標記為“已售”
    13           document.write("<td align='center' width=80 background=yes.png>已售</td>");
    14           continue;                                       //應用continue語句跳過本次循環
    15        }
    16    //輸出排號和座位號
    17    document.write("<td align='center' width=80 background=no.png>"+i+"排"+j+"座"+"</td>");
    18     }
    19     document.write("</tr>");                              //輸出表格行結束標簽
    20  }
    21  document.write("</table>");                              //輸出表格結束標簽
    22  </script>

運行本實例,結果如圖3.18所示。

圖3.18 輸出影廳當前座位圖

3.3.2 break語句

在3.1.2節的switch語句中已經用到了break語句,當程序執行到break語句時就會跳出switch語句。除了switch語句之外,在循環語句中也經常會用到break語句。

在循環語句中,break語句用于跳出循環。break語句的語法格式如下:

    break;

說明

break語句通常用在for、while、do…while或switch語句中。

例如,在for語句中通過break語句跳出循環的代碼如下:

    01  for(i=1;i<=10;i++){
    02      if(i==5) break;          //如果i等于5就跳出整個循環
    03      document.write(i+"\n");  //輸出變量i的值
    04  }

運行結果為:

    1 2 3 4

注意

在嵌套的循環語句中,break語句只能跳出當前這一層的循環語句,而不是跳出所有的循環語句。

例如,應用break語句跳出當前循環的代碼如下:

    01  var i,j;                    //聲明變量
    02  for(i=1;i<=3;i++){          //定義外層循環語句
    03     document.write(i+"\n");  //輸出變量i的值
    04     for(j=1;j<=3;j++){       //定義內層循環語句
    05        if(j==2)              //如果變量j的值等于2
    06           break;             //跳出內層循環
    07        document.write(j);    //輸出變量j的值
    08     }
    09     document.write("<br>");  //輸出換行標記
    10  }

運行結果為:

    1 1
    2 1
    3 1

由運行結果可以看出,外層for循環語句一共執行了3次(輸出1、2、3),而內層循環語句在每次外層循環里只執行了一次(只輸出1)。

主站蜘蛛池模板: 墨脱县| 紫金县| 海淀区| 百色市| 曲沃县| 青浦区| 嘉定区| 株洲县| 徐闻县| 衡山县| 新建县| 杭锦旗| 麻栗坡县| 纳雍县| 岳阳市| 中宁县| 读书| 红原县| 张家港市| 山西省| 大化| 名山县| 安泽县| 达州市| 沂源县| 维西| 修武县| 嵊泗县| 西林县| 五河县| 和政县| 怀安县| 乐清市| 大余县| 无棣县| 沅陵县| 水富县| 都安| 朝阳区| 邢台市| 五大连池市|