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

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)。

主站蜘蛛池模板: 卢龙县| 灵丘县| 哈密市| 洪雅县| 扶风县| 囊谦县| 正安县| 漳平市| 文登市| 孝义市| 邮箱| 林州市| 新泰市| 施甸县| 塔河县| 云阳县| 龙山县| 孟津县| 巴南区| 德令哈市| 合江县| 江西省| 瑞丽市| 兴海县| 海阳市| 无锡市| 古田县| 资兴市| 张掖市| 虎林市| 本溪市| 临湘市| 营山县| 宁波市| 鹿泉市| 邵东县| 措勤县| 江都市| 深泽县| 沂水县| 墨脱县|