JavaScript-循环语句

循环语句有两种 forwhile

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

你可能感兴趣的:(JavaScript-循环语句)