七、循环
循环语句用于多次执行一个代码块。JavaScript 有四种循环:while
、do-while
、for
和for-in
。与条件if
语句一样,如果代码块中只有一条语句,可以省略这些循环的花括号。
While 循环
只有当条件为真时,while
循环才会遍历代码块,并且只要条件保持为真,循环就会继续。
var i = 0;
while (i < 10) {
document.write(i++); // 0-9
}
这里的循环将打印出数字 0 到 9。请记住,条件只在每次迭代开始时检查。
Do-While 循环
除了检查代码块之后的条件之外,do-while
循环的工作方式与while
循环相同。因此,它将始终至少在代码块中运行一次。注意,这个循环以分号结束。
var j = 0;
do {
document.write(j++); // 0-9
} while (j < 10);
For 循环
for
循环在代码块中运行特定的次数。它使用三个参数。第一个初始化一个计数器,并且总是在循环之前执行一次。第二个参数保存循环的条件,并在每次迭代之前进行检查。第三个参数包含计数器的增量,在每次迭代结束时执行。
for (var k = 0; k < 10; k++) {
document.write(k); // 0-9
}
这个循环有几种变化,因为任何一个参数都可以省略。例如,如果省略第一个和第三个参数,它的行为方式与while
循环相同。
var k;
for (; k < 10;) {
document.write(k++); // 0-9
}
第一个和第三个参数也可以使用逗号运算符(,
)拆分成几个语句。
for (var k = 0, m = 0; k < 10; k++, m--) {
document.write(k+m); // 000... (10x)
}
属性获取数组中元素的数量。与for
循环一起,它可以用来遍历一个数组。
var a = [1, 2, 3];
for (var i = 0; i < a.length; i++) {
document.write(a[i]); // "123"
}
如果不需要跟踪迭代,for-in
循环提供了一个更短的遍历数组的语法。
For-in 循环
for-in
循环提供了一种简单的方法来遍历数组中的元素或对象中的属性。在每次迭代中,将下一个属性的键或索引赋给变量,循环继续迭代,直到遍历完对象的所有成员。
var colors = ["red","green","blue"];
for (i in colors) {
document.write(colors[i] + " "); // "red green blue"
}
中断并继续
有两个跳转语句可以在循环内部使用:break
和continue
。break
关键字结束循环结构,而continue
跳过当前迭代的剩余部分,并在下一次迭代的开始处继续。
for (var i = 0; i < 10; i++)
{
if (i == 2) continue; // start next iteration
else if (i == 5) break; // end loop
document.write(i); // "0134"
}
要中断当前循环之上的循环,必须首先标记外部循环,方法是在外部循环前添加一个名称,后跟一个冒号。有了这个标签,它现在可以用作break
语句的参数,告诉它从哪个循环中退出。这也适用于continue
关键字,以便跳到指定循环的下一次迭代。
myloop:
for (var i = 0; i < 10; i++)
{
var j = 0;
while (++j < 10)
{
break myloop; // end for loop
}
}
版权属于:月萌API www.moonapi.com,转载请注明出处