循环语句有两种 for
和 while
。
while 循环
while (条件) {
语句;
//语句中必须要有能够使条件不成立的语句,不然会成为一个死循环。
}
for 循环
for (初始化表达式; 条件; 递增表达式) {
语句
}
/*
*初始化表达式:循环开始的初始值
*条件:每次循环都执行条件表达式,结果为true才能继续循环。
*递增表达式:使能够跳出循环
*/
do...while 循环
do {
语句
} while (条件);
这个循环和while
循环的区别就在于:先执行循环体一次,再判断条件。所以这个循环至少执行一次。
break 语句和 continue 语句
break 和 continue 都有跳转的意思。可以让代码不按既定顺序执行。
break 是跳出循环体;
continue 是跳出本次循环;
如果存在多重循环,不带参数的break语句和continue语句都只针对最内层循环。
标签(label)
JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。
label:
语句
标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。
标签通常与break语句和continue语句配合使用,跳出特定的循环。
top:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) break top;
console.log('i=' + i + ', j=' + j);
}
}
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
上面代码为一个双重循环区块,break命令后面加上了top标签(注意,top不用加引号),满足条件时,直接跳出双层循环。如果break语句后面不使用标签,则只能跳出内层循环,进入下一次的外层循环。
continue语句也可以与标签配合使用。
top:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) continue top;
console.log('i=' + i + ', j=' + j);
}
}
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
// i=2, j=0
// i=2, j=1
// i=2, j=2
上面代码中,continue命令后面有一个标签名,满足条件时,会跳过当前循环,直接进入下一轮外层循环。如果continue语句后面不使用标签,则只能进入下一轮的内层循环。
参考:javascript.ruanyifeng.com
网友评论