例
通过代码五倍块循环:
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语句参考