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

3.3 循環控制語句

所謂循環語句,就是在滿足條件的情況下可反復地執行某一個操作。循環控制語句主要包括while語句、do…while語句和for語句,下面分別進行講解。

3.3.1 while語句

while語句可以實現循環操作。while循環語句也稱為前測試循環語句,即利用一個先期條件來控制是否要重復執行循環體。while循環語句與for循環語句相比,無論是語法還是執行的流程,都較為簡明易懂。while循環語句的語法格式如下:

    while(expression){
         statement
    }

參數說明:

expression:一個包含比較運算符的條件表達式,用來指定循環條件。

statement:用來指定循環體。在循環條件的結果為true時,重復執行該循環體。

說明

while循環語句之所以稱為前測試循環,是因為它要先判斷循環條件是否成立,然后進行重復執行的操作。也就是說,while循環語句執行的過程是先判斷條件表達式,如果條件表達式的值為true,則執行循環體,并且在循環體執行完畢后,進入下一次循環,否則退出循環。

while循環語句的執行流程如圖3.8所示。

說明

在使用while語句時,也一定要保證循環可以正常結束,即必須保證條件表達式的值存在false的情況,否則將形成死循環。例如,下面的循環語句就會造成死循環,原因是i永遠都小于100。

圖3.8 while循環語句的執行流程

while循環語句經常用于循環執行的次數不確定的情況下。

【例3.4】 通過while循環語句頁面中列舉累加和不大于10的所有自然數。(實例位置:資源包\TM\sl\3\04)

運行結果如圖3.9所示。

圖3.9 while循環累加和不大于10的自然數

3.3.2 do…while語句

do…while循環語句也稱為后測試循環語句,它也是利用一個條件來控制是否要重復執行循環體。與while循環所不同的是,do…while先執行一次循環體,然后判斷條件,確定是否繼續執行。

do…while循環語句的語法格式如下:

    do{
          statement
    } while(expression);

參數說明:

statement:用來指定循環體。循環開始時,首先執行一次循環體,然后在循環條件的結果為true時,重復執行循環體。

expression:一個包含比較運算符的條件表達式,用來指定循環條件。

說明

do…while循環語句執行的過程是:先執行一次循環體,然后判斷條件表達式,如果條件表達式的值為true,則繼續執行循環體,否則退出循環。也就是說,do…while循環語句中的循環體至少要被執行一次。

do…while循環語句的執行流程如圖3.10所示。

圖3.10 do…while循環語句的執行流程

do…while循環語句同while循環語句類似,也常用于循環執行的次數不確定的情況下。

注意

do…while語句結尾處(即while語句括號后面)有一個分號“;”。為了養成良好的編程習慣,建議讀者在書寫的過程中不要將其遺漏。

3.3.3 for循環

for循環語句也稱為計次循環語句,一般用于循環次數已知的情況下,在JavaScript中應用比較廣泛。for循環語句的語法格式如下:

    for(initialize;test;increment){
           statement
    }

參數說明:

initialize:初始化語句,用來對循環變量進行初始化賦值。

test:循環條件,一個包含比較運算符的表達式,用來限定循環變量的邊限。如果循環變量超過了該邊限,則停止該循環語句的執行。

increment:用來指定循環變量的步幅。

statement:用來指定循環體,在循環條件的結果為true時,重復執行該循環體。

說明

for循環語句執行的過程是:先執行初始化語句,然后判斷循環條件,如果循環條件的結果為true,則執行一次循環體,否則直接退出循環,最后執行迭代語句,改變循環變量的值,至此完成一次循環。接下來將進行下一次循環,直到循環條件的結果為false,才結束循環。

for循環語句的執行流程如圖3.11所示。

圖3.11 for循環語句的執行流程

為使讀者更好地了解for語句的使用,下面通過一個具體的實例來介紹for語句的使用方法。

【例3.5】 計算100以內所有奇數的和。(實例位置:資源包\TM\sl\3\05)

運行程序,將會彈出提示框,顯示運算結果,如圖3.12所示。

圖3.12 計算100以內奇數和

說明

在使用for語句時,一定要保證循環可以正常結束,也就是必須保證循環條件的結果存在false的情況,否則循環體將無休止地執行下去,從而形成死循環。例如,下面的循環語句就會造成死循環,原因是i永遠大于等于1。

    for(i=1;i>=1;i++){
         alert(i);
    }
主站蜘蛛池模板: 无棣县| 天峻县| 长宁区| 太谷县| 邳州市| 柘城县| 昭平县| 许昌县| 京山县| 屯昌县| 白朗县| 西林县| 桂东县| 古丈县| 松江区| 林西县| 洛川县| 东兰县| 石家庄市| 平湖市| 秦皇岛市| 玉门市| 诸暨市| 夹江县| 汝州市| 西华县| 黄陵县| 松阳县| 武功县| 济南市| 千阳县| 济南市| 全州县| 香港| 华阴市| 恩平市| 始兴县| 寿宁县| 宜兰县| 钦州市| 乌什县|