一、while 语句
语法结构:
声明循环变量;
while (循环条件) { //循环体
// 迭代条件 }
当循环条件为 true 时,执行循环体;当循环条件为false时,结束循环。
二、do...while 语句
语法结构:
声明循环变量;
do {
// 循环体;
// 迭代条件
} while (循环条件);
先执行一次循环体,然后再进行条件判断;如果为 true,执行循环体;如果为 false ,结束循环。
注意:do-while 这种后测试循环语句最常用于循环体中的代码至少要被执行一次的情形 。
三、for 语句
1、for 语句
语法结构:
for (初始化表达式1; 判断表达式2; 迭代表达式3) { // for循环的表达式之间用的是;号分隔的,千万不要写成,
// 循环体4
}
只有当判断表达式2为 true ,才执行循环体4,然后执行迭代表达式3,然后再次进行判断表达式2。
扩展:for 形式的死循环:
for (;;) { // 无限循环
循环体
}
2、for-in 语句
for-in 语句是一种精准的迭代语句,可以用来枚举对象的属性。
语法格式:
for(var 属性名 in 对象) {
执行操作;
}
Demo:
for (var propName in window) {
document.write(propName);
}
分析:使用 for-in 循环来显示了 window 对象的所有属性。
注意:为了保证最大限度的兼容性,建议在使用 for-in 循环之前,先检测确认该对象的值不是 null 或 undefined
四、continue和break 关键字
1、continue
作用:立即跳出本次循环,继续下一次循环。
注意:跳出的是最近的一个循环。
2、break
作用:立即跳出整个循环,强制继续执行循环后面的语句。
注意:跳出的是最近的一个循环。
3、label 语句
使用 label 语句可以在代码中添加标签,以便将来使用 。
语法格式:
label: statement
通常加了 label 的语句要与 循环语句配合使用,从而能更好的控制循环。
Demo:
var num = 0;
outermost:
for (var i=0; i < 10; i++) {
for (var j=0; j < 10; j++) {
if (i == 5 && j == 5) {
continue outermost; // 结构 label 使用,控制跳出循环
}
num++;
}
}
alert(num); //95