JavaScript break 和 continue 语句


JavaScript中的break和continue语句

概述

在JavaScript中,break和continue是两个非常常用的关键字,用于控制循环的流程。break关键字可以提前结束循环语句,而continue则是结束当前循环并开始下一轮的循环。

break语句

break语句用于跳出循环,其关键字后面可以跟一个可选的标签,以便于在嵌套的循环语句中定位到要退出的循环。break语句可以出现在for、while和do…while循环语句中。

使用示例

for (var i = 0; i < 10; i++) {
  if (i === 5) {
    break;
  }
  console.log(i);
}

上面的代码中,在i等于5时,break语句将跳出循环,输出的结果为0、1、2、3、4。如果没有break语句,输出的结果将是0、1、2、3、4、5、6、7、8、9。

结合标签使用

当循环语句嵌套多层时,使用标签可以很方便地直接跳出指定的循环。标签需要放在循环体的外面,然后break语句后面跟上该标签,示例如下:

outer:
for (var i = 0; i < 5; i++) {
  for (var j = 0; j < 5; j++) {
    if (i === 3 && j === 3) {
      break outer;
    }
    console.log('i=' + i + ',j=' + j);
  }
}

上面的代码中,break语句跳出的是外层的循环,输出的结果为:

i=0,j=0
i=0,j=1
i=0,j=2
i=0,j=3
i=1,j=0
i=1,j=1
i=1,j=2
i=1,j=3
i=2,j=0
i=2,j=1
i=2,j=2
i=2,j=3

continue语句

continue语句用于跳过本次循环中的剩余语句,进入下一轮。continue关键字后面也可以跟可选的标签,以便于在嵌套的循环语句中定位到要跳过的循环。continue语句也可以出现在for、while和do…while循环语句中。

使用示例

for (var i = 0; i < 5; i++) {
  if (i === 3) {
    continue;
  }
  console.log(i);
}

上面的代码中,在i等于3时,continue语句跳过了剩余的语句,进入了下一轮循环。输出的结果为0、1、2、4。

结合标签使用

和break语句一样,continue语句也可以结合标签使用,以便于在嵌套的循环语句中定位到要跳过的循环。

outer:
for (var i = 0; i < 5; i++) {
  for (var j = 0; j < 5; j++) {
    if (i === 3 && j === 3) {
      continue outer;
    }
    console.log('i=' + i + ',j=' + j);
  }
}

上面的代码中,continue语句跳过的是外层循环的当前轮次,进入下一轮。输出的结果为:

i=0,j=0
i=0,j=1
i=0,j=2
i=0,j=3
i=0,j=4
i=1,j=0
i=1,j=1
i=1,j=2
i=1,j=3
i=1,j=4
i=2,j=0
i=2,j=1
i=2,j=2
i=2,j=3
i=2,j=4
i=4,j=0
i=4,j=1
i=4,j=2
i=4,j=3
i=4,j=4

总结

在JavaScript中,break和continue语句可以让我们灵活地控制循环的流程,提升我们的代码效率。break语句用于提前跳出循环,而continue语句则是跳过当前循环进入下一轮的循环。在多层嵌套的循环语句中,break和continue语句可以结合标签使用,更加方便地控制循环流程。