《JavaScript Dom編程藝術》讀書筆記(三)

循環語句

if語句惟一的不足是沒法完成重複性的操做。在if語句裏,包含在花括號裏的代碼塊只能執行一次。若是須要屢次執行同一個代碼塊,就必須使用循環語句。數組

while循環

while循環與if語句很是類似,它們的語法幾乎徹底同樣:測試

while (condition) {
    statements;
}

while循環與if語句惟一的區別是:只要給定條件的求值結果是true,包含在花括號裏的代碼就將反覆地執行下去。下面是一個while循環的例子:code

var count = 1;
while (count < 11) {
    alert (count);
    count++;
}

上面這段代碼中,首先,建立數值變量count並賦值爲1,而後,以count<11————意思是「只要變量count的值小於11,就重複執行這個循環」————爲條件建立一個while循環。在while循環的內部,用「++」操做符對變量count的值執行加1操做,而這以操做將重複執行10次。rem

do...while循環

相似於if語句的狀況,while循環的花括號部分所包含的語句有可能不被執行,由於對循環控制條件的求值發生在每次循環開始以前,因此若是循環控制條件的首次求值結果是false,那些代碼將以此也不會執行。it

有時,咱們但願那些包含在循環語句內部的代碼至少執行以此。這時,do循環是咱們的最佳選擇。下面是do循環的語法:io

do {
    statements;
}    while (condition);

與剛纔的while循環有個顯而易見的區別:對循環控制條件的求值發生在每次循環結束以後。所以,即便循環控制條件的首次求值結果是false,包含在花括號裏的語句也至少會被執行一次。for循環

var count = 1;
do {
    alert (count);
    count++;
} while (count < 11);

這段代碼的執行結果與while循環徹底同樣:alert消息將閃現10次;在循環結束後,變量count的值將是11.test

看下面這個變體:變量

var count = 1;
do {
    alert (count);
    count++;
} while (count < 1)

在上面這個do循環裏,循環控制條件的求值結果永遠不爲true:變量count的初始值是1,因此它在這裏永遠不會小於1。但是,由於do循環的循環控制條件出如今花括號部分以後,因此包含在這個do循環內部的代碼仍是執行了一次。也就是說,仍將看到一條alert消息。這些語句執行完畢後,變量count的值將是2,儘管循環控制條件的求值結果是false。循環

for循環

用for循環來重複執行一些代碼也很方便,它相似於while循環。事實上,for循環只是while循環的一種變體。若是仔細觀察while循環的例子,就會發現它們均可以改寫爲以下所示的樣子:

initialize;
while (condition) {
    statements;
    increment;
}

而for循環不過是進一步改寫爲以下所示的緊湊形式而已:

for (initial condition; test condition; alter conidtion) {
    statements;
}

用for循環來重複執行一些代碼的好處是循環控制結構更加清晰。與循環有關的全部內容都包含在for語句的圓括號部分。

能夠將do...while循環裏的例子改寫爲以下所示的for循環:

for (var count = 1; count < 11; count++ ) {
    alert (count);
}

與循環有關的全部內容都包含在for語句的圓括號裏。當把一些代碼放在花括號中間的時候,清楚地知道哪些代碼將會被執行10次。

for循環最多見的用途之一是對某個數組裏的全體元素進行遍歷處理。這每每須要用到數組的array.length屬性,這個屬性能夠告訴咱們在給定數組裏的元素的個數。特別要注意的是數組下標是從0而不是1開始。

下面這個例子中,數組有4個元素。count變量對於數組中每一個元素都是從0開始按1遞增。數到4時,測試條件失敗,循環終止,3是從數組中檢索到的最後一個下標。

var beatles = Array("John","Paul","George","Ringo");
for (var count = 0; count < beatles.length; count++ ) {
    alert(beatles[count]);
}

運行這段代碼,將看到4條alert消息,它們分別對應着Beatles樂隊的四位成員。

相關文章
相關標籤/搜索