JavaScript For 循環(huán)
循環(huán)可以將代碼塊執(zhí)行指定的次數(shù)。
JavaScript 循環(huán)
如果您希望一遍又一遍地運(yùn)行相同的代碼,并且每次的值都不同,那么使用循環(huán)是很方便的。
我們可以這樣輸出數(shù)組的值:
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 (var i=0;i<cars.length;i++) { document.write(cars[i] + "<br>"); }
不同類型的循環(huán)
JavaScript 支持不同類型的循環(huán):
- for - 循環(huán)代碼塊一定的次數(shù)
- for/in - 循環(huán)遍歷對象的屬性
- while - 當(dāng)指定的條件為 true 時(shí)循環(huán)指定的代碼塊
- do/while - 同樣當(dāng)指定的條件為 true 時(shí)循環(huán)指定的代碼塊
For 循環(huán)
for 循環(huán)是您在希望創(chuàng)建循環(huán)時(shí)常會用到的工具。
下面是 for 循環(huán)的語法:
for (語句 1; 語句 2; 語句 3) { 被執(zhí)行的代碼塊 }
語句 1 在循環(huán)(代碼塊)開始前執(zhí)行
語句 2 定義運(yùn)行循環(huán)(代碼塊)的條件
語句 3 在循環(huán)(代碼塊)已被執(zhí)行之后執(zhí)行
實(shí)例
for (var i=0; i<5; i++) { x=x + "The number is " + i + "<br>"; }
從上面的例子中,您可以看到:
Statement 1 在循環(huán)開始之前設(shè)置變量 (var i=0)。
Statement 2 定義循環(huán)運(yùn)行的條件(i 必須小于 5)。
Statement 3 在每次代碼塊已被執(zhí)行后增加一個(gè)值 (i++)。
語句 1
通常我們會使用語句 1 初始化循環(huán)中所用的變量 (var i=0)。
語句 1 是可選的,也就是說不使用語句 1 也可以。
您可以在語句 1 中初始化任意(或者多個(gè))值:
實(shí)例:
for (var i=0,len=cars.length;
i<len; i++)
{
document.write(cars[i] + "<br>");
}
同時(shí)您還可以省略語句 1(比如在循環(huán)開始前已經(jīng)設(shè)置了值時(shí)):
實(shí)例:
var i=2,len=cars.length;
for (; i<len; i++)
{
document.write(cars[i] + "<br>");
}
語句 2
通常語句 2 用于評估初始變量的條件。
語句 2 同樣是可選的。
如果語句 2 返回 true,則循環(huán)再次開始,如果返回 false,則循環(huán)將結(jié)束。
提示:如果您省略了語句 2,那么必須在循環(huán)內(nèi)提供 break。否則循環(huán)就無法停下來。這樣有可能令瀏覽器崩潰。請?jiān)诒窘坛躺院蟮恼鹿?jié)閱讀有關(guān) break 的內(nèi)容。
語句 3
通常語句 3 會增加初始變量的值。
語句 3 也是可選的。
語句 3 有多種用法。增量可以是負(fù)數(shù) (i--),或者更大 (i=i+15)。
語句 3 也可以省略(比如當(dāng)循環(huán)內(nèi)部有相應(yīng)的代碼時(shí)):
實(shí)例:
var i=0,len=cars.length;
for (; i<len; )
{
document.write(cars[i] + "<br>");
i++;
}
For/In 循環(huán)
JavaScript for/in 語句循環(huán)遍歷對象的屬性:
實(shí)例
var person={fname:"John",lname:"Doe",age:25};
for (x in
person)
{
txt=txt + person[x];
}
您將在有關(guān) JavaScript 對象的章節(jié)學(xué)到更多有關(guān) for / in 循環(huán)的知識。
While 循環(huán)
我們將在下一章為您講解 while 循環(huán)和 do/while 循環(huán)。
課外書
如需更多有關(guān) JavaScript for 語句的知識,請閱讀 JavaScript 高級教程中的相關(guān)內(nèi)容:
- ECMAScript 迭代語句
- 迭代語句又叫循環(huán)語句。本節(jié)為您介紹 ECMAScript 提供的四種迭代語句。