JavaScript For 循環
javascript for 循環
循環可多次執行代碼塊。
1. 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>"; }
2. 不同類型的循環
javascript 支持不同類型的循環:
- for - 多次遍歷代碼塊
- for/in - 遍歷對象屬性
- while - 當指定條件為 true 時循環一段代碼塊
- do/while - 當指定條件為 true 時循環一段代碼塊
3. 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++)。
4. 語句 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>"; }
5. 語句 2
通常語句 2 用于計算初始變量的條件。
但情況并不總是這樣,javascript 不會在意。語句 2 也是可選的。
如果語句 2 返回 true,那么循環會重新開始,如果返回 false,則循環將結束。
如果省略語句 2,那么必須在循環中提供一個 break。否則循環永遠不會結束。請在下一章閱讀更多關于 break 的內容。
6. 語句 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++; }
7. for/in 循環
javascript for/in 語句遍歷對象的屬性:
范例
var person = {fname:"bill", lname:"gates", age:62}; var text = ""; var x; for (x in person) { text += person[x]; }