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,則迴圈將結束。

如果您省略了語句 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:"Bill",lname:"Gates",age:56}; for (x in person) // x 為屬性名 { txt=txt + person[x]; }

嘗試一下 ?

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


While 迴圈

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