break语句,continue语句以及标签(label)

 

循环语句

1. break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行。

一. break语句用于跳出代码块或循环。

for (var i = 0; i < 5; i++) {
  console.log(i);
  if (i === 3)
    break;
}
// 0
// 1
// 2
// 3

上面代码执行到i等于3,就会跳出循环。

二. continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。

var i = 0;

while (i < 10){
  i++;
  if (i % 2 === 0) continue;
  console.log('i 为:' + i);
}

只有在i为奇数时,才会输出i的值。如果i为偶数,则直接进入下一轮循环。如果存在多重循环,不带参数的break语句和continue语句都只针对最内层循环。

2. 标签(label)

js允许语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。

label:
  语句

它通常与break语句和continue语句配合使用,用来跳出特定的循环。

test:
  for (var i = 0; i < 2; i++){
    for (var j = 0; j < 2; j++){
      if (i === 1 && j === 1) break test;
      console.log('i=' + i + ', j=' + j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=1, j=0

代码为一个双重循环区块,break命令后面加上了top标签,满足条件时直接跳出双层循环。如果break语句后面不使用标签,则只能跳出内层循环,进入下一次的外层循环。

标签也可以用于跳出代码块。

test: {
  console.log(1);
  break test;
  console.log('不输出');
}
console.log(2);
// 1
// 2

代码执行到break foo,就会跳出区块。

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语句后面不使用标签,则只能进入下一轮的内层循环。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值