最新的Web开发教程
 

JavaScript对于声明

<JavaScript语句参考

通过代码五倍块循环:

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 -通过代码块循环的次数
  • for/in -遍历一个对象的属性
  • while -遍历的代码块,同时指定的条件是真
  • 做/同时 -通过代码块循环一次,然后重复这个循环而指定的条件是真

提示:使用断点语句跳出循环,而继续语句跳过循环的值。


浏览器支持

声明
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语句参考