JavaScript for 迴圈


迴圈可以將代碼塊執行指定的次數。


JavaScript 迴圈

如果您希望一遍又一遍地運行相同的代碼,並且每次的值都不同,那麼使用迴圈是很方便的。

我們可以這樣輸出數組的值:

一般寫法:

document.write(cars[0] + "<br>"); document.write(cars[1] + "<br>"); document.write(cars[2] + "<br>"); document.write(cars[3] + "<br>"); document.write(cars[4] + "<br>"); document.write(cars[5] + "<br>");

使用for迴圈

for (var i=0;i<cars.length;i++) { document.write(cars[i] + "<br>"); }



不同類型的迴圈

JavaScript 支持不同類型的迴圈:

  • for - 迴圈代碼塊一定的次數
  • for/in - 迴圈遍曆對象的屬性
  • while - 當指定的條件為 true 時迴圈指定的代碼塊
  • do/while - 同樣當指定的條件為 true 時迴圈指定的代碼塊

For 迴圈

for 迴圈是您在希望創建迴圈時常會用到的工具。

下麵是 for 迴圈的語法:

for (語句 1; 語句 2; 語句 3)
{
    被執行的代碼塊
}

語句 1 (代碼塊)開始前執行

語句 2 定義運行迴圈(代碼塊)的條件

語句 3 在迴圈(代碼塊)已被執行之後執行

實例

for (var i=0; i<5; i++) { x=x + "該數字為 " + i + "<br>"; }

從上面的例子中,您可以看到:

Statement 1 在迴圈開始之前設置變數 (var i=0)。

Statement 2 定義迴圈運行的條件(i 必須小於 5)。

Statement 3 在每次代碼塊已被執行後增加一個值 (i++)。


語句 1

通常我們會使用語句 1 初始化迴圈中所用的變數 (var i=0)。

語句 1 是可選的,也就是說不使用語句 1 也可以。

您可以在語句 1 中初始化任意(或者多個)值:

實例:

for (var i=0,len=cars.length; i<len; i++) { document.write(cars[i] + "<br>"); }

同時您還可以省略語句 1(比如在迴圈開始前已經設置了值時):

實例:

var i=2,len=cars.length; for (; i<len; i++) { document.write(cars[i] + "<br>"); }



語句 2

通常語句 2 用於評估初始變數的條件。

語句 2 同樣是可選的。

如果語句 2 返回 true,則迴圈再次開始,如果返回 false,則迴圈將結束。

lamp 如果您省略了語句 2,那麼必須在迴圈內提供 break。否則迴圈就無法停下來。這樣有可能令流覽器崩潰。請在本教學稍後的章節閱讀有關 break 的內容。


語句 3

通常語句 3 會增加初始變數的值。

語句 3 也是可選的。

語句 3 有多種用法。增量可以是負數 (i--),或者更大 (i=i+15)。

語句 3 也可以省略(比如當迴圈內部有相應的代碼時):

實例:

var i=0,len=cars.length; for (; i<len; ) { document.write(cars[i] + "<br>"); i++; }



For/In 迴圈

JavaScript for/in 語句迴圈遍曆對象的屬性:

實例

var person={fname:"John",lname:"Doe",age:25}; for (x in person) // x 為屬性名 { txt=txt + person[x]; }

您將在有關 JavaScript 對象的章節學到更多有關 for / in 迴圈的知識。


While 迴圈

我們將在下一章為您講解 while 迴圈和 do/while 迴圈。