JavaScript For 循環

循環可多次執行代碼塊。

JavaScript 循環

假如您需要運行代碼多次,且每次使用不同的值,那么循環(loop)相當方便使用。

通常我們會遇到使用數組的例子:

不需要這樣寫:

text += cars[0] + "<br>"; 
text += cars[1] + "<br>"; 
text += cars[2] + "<br>"; 
text += cars[3] + "<br>"; 
text += cars[4] + "<br>"; 
text += cars[5] + "<br>"; 

您能夠這樣寫:

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

親自試一試

不同類型的循環

JavaScript 支持不同類型的循環:

  • for - 多次遍歷代碼塊
  • for/in - 遍歷對象屬性
  • while - 當指定條件為 true 時循環一段代碼塊
  • do/while - 當指定條件為 true 時循環一段代碼塊

For 循環

for 循環是在您希望創建循環時經常使用的工具。

for 循環的語法如下:

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

語句 1 在循環(代碼塊)開始之前執行。

語句 2 定義運行循環(代碼塊)的條件。

語句 3 會在循環(代碼塊)每次被執行后執行。

實例

for (i = 0; i < 5; i++) {
     text += "數字是 " + i + "<br>";
}

親自試一試

從上面的代碼中,您可以了解到:

語句 1 在循環開始之前設置了一個變量(var i = 0)。

語句 2 定義運行循環的條件(i 必須小于 5)。

語句 3 會在代碼塊每次執行之后對值進行遞增(i++)。

語句 1

通常,您會使用語句 1 來初始化循環中所使用的的變量(i = 0)。

但情況并不總是這樣,JavaScript 不會在意。語句 1 是可選的。

您可以在語句 1 中初始化多個值(由逗號分隔):

實例

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

親自試一試

而且您還可以省略語句 1(比如在循環開始前設置好值):

實例

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

親自試一試

語句 2

通常語句 2 用于計算初始變量的條件。

但情況并不總是這樣,JavaScript 不會在意。語句 2 也是可選的。

如果語句 2 返回 true,那么循環會重新開始,如果返回 false,則循環將結束。

如果省略語句 2,那么必須在循環中提供一個 break。否則循環永遠不會結束。請在下一章閱讀更多關于 break 的內容。

語句 3

通常語句 3 會遞增初始變量的值。

但情況并不總是這樣,JavaScript 不會在意。語句 3 也是可選的。

語句 3 可做任何事情,比如負遞增(i--),正遞增(i = i + 15),或者任何其他事情。

語句 3 也可被省略(比如當您在循環內遞增值時):

實例

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

親自試一試

For/In 循環

JavaScript for/in 語句遍歷對象的屬性:

實例

var person = {fname:"Bill", lname:"Gates", age:62}; 
var text = "";
var x;
for (x in person) {
    text += person[x];
}

親自試一試

While 循環

我們將在下一章學習 while 循環和 do/while 循環。

課外書

如需更多有關 JavaScript for 語句的知識,請閱讀 JavaScript 高級教程中的相關內容:

ECMAScript 迭代語句
迭代語句又叫循環語句。本節為您介紹 ECMAScript 提供的四種迭代語句。