例
通過代碼五倍塊循環:
var text = "";
var i;
for (i = 0; i < 5; i++) {
text += "The number is " + i + "<br>";
}
文本的結果將是:
The number is 0
The number is 1
The number is 2
The number is 3
The number is 4
試一試» 更多"Try it Yourself"下面的例子。
定義和用法
for語句創建只要條件為真時執行的循環。
循環將繼續只要條件為真運行。 當條件為假它只會停止。
JavaScript的支持不同類型的循環:
瀏覽器支持
聲明 | |||||
---|---|---|---|---|---|
for | 是 | 是 | 是 | 是 | 是 |
句法
參數值 參數 描述 statement1 可選的。 循環之前執行(the code block)開始。 通常這個語句被用來初始化計數器變量。 為了發起多個值,用逗號分隔的每個值。
注意:此參數可以省略。 但是,不要省略分號";" statement2 可選的。 定義用於運行循環中的條件(the code block) 。 通常這個語句被用來評估計數器變量的狀態。 如果返回true,則循環將重新開始,如果返回false,循環將結束。
注意:此參數可以省略。 但是,不要省略分號";" 。 另外,如果你省略此參數,必須提供循環內休息。 否則,循環將永遠不會結束,它會崩潰您的瀏覽器 statement3 可選的。 環路(代碼塊)已被執行之後,每次執行。 通常這個語句被用來遞增或遞減計數器變量。
注意:此參數可被省略(eg to increase/decrease values inside the loop)
技術細節
JavaScript的版本: 1.0
更多示例
例
遍歷數組的索引來收集來自汽車陣列的車名:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i
= 0; i < cars.length; i++) {
text += cars[i] + "<br>";
} 試一試» 上述例子解釋:
- 首先,我們在循環開始之前設置一個變量(var i = 0;)
- 然後,我們定義為循環運行的條件。 只要變量小於所述陣列的長度(which is 4)循環將繼續
- 每執行一次循環,該變量被加一(i++)
- 一旦變量不再是小於4 (array's length) ,該條件為假,並且循環將結束
例
發起在第一個參數的多個值:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i;
for (i = 0, len = cars.length, text = ""; i < len; i++) {
text += cars[i] + "<br>";
} 試一試»
例
省略第一個參數(set values before the loop starts) :
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) {
text += cars[i] + "<br>";
} 試一試»
例
使用continue語句-通過一個代碼塊循環,但跳過的值"3"
var text = ""
var i;
for (i = 0; i < 5; i++) {
if (i ==
3)
{
continue;
}
text += "The number is " + i + "<br>";
}
試一試»
例
通過代碼塊循環,但退出循環當變量i等於-使用break語句"3"
var text = ""
var i;
for (i = 0; i < 5; i++) {
if (i ==
3)
{
break;
}
text += "The number is " + i + "<br>";
}
試一試»
例
忽略第二個參數。 在這個例子中,我們還利用休息語句退出循環時,i等於“3”(如果省略第二個參數,你必須提供循環內休息,否則循環將永遠不會結束,你的瀏覽器會崩潰):
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = 0; ; i++) {
if (i == 3) {
break;
}
text += cars[i] +
"<br>";
} 試一試»
例
通過陣列的索引,在下降順序(負增量)循環:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = cars.length - 1; i >= 0; i--) {
text += cars[i] + "<br>";
} 試一試»
例
省略最後一個參數,並增加循環內的值:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var len = cars.length;
for (; i < len;) {
text += cars[i] + "<br>";
i++;
} 試一試»
例
通過NodeList對象的節點循環和改變所有的背景顏色<p>列表中的元素:
var myNodelist = document.getElementsByTagName("P");
var i;
for (i =
0; i < myNodelist.length; i++) {
myNodelist[i].style.backgroundColor = "red";
} 試一試»
例
嵌套循環的一個例子(a loop inside a loop) :
var text = "";
var i, j;
for (i = 0; i < 3; i++) {
text += "<br>" + "i = " + i + ", j = ";
for (j =
10; j < 15; j++) {
document.getElementById("demo").innerHTML = text += j + " ";
}
} 試一試»
相關頁面
JavaScript的教程: JavaScript的For循環
javascript參考: JavaScript來... in語句
javascript參考: JavaScript的break語句
javascript參考: JavaScript的continue語句
javascript參考: JavaScript的同時聲明
<JavaScript語句參考