首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

break

break 语句中止当前循环,switch语句或label语句,并把程序控制流转到紧接着被中止语句后面的语句。

语法

代码语言:javascript
复制
break [label];

label可选。与语句标签相关联的标识符。如果 break 语句不在一个循环或switch语句中,则该项是必须的。

描述

break语句包含一个可选的标签,可允许程序摆脱一个被标记的语句。break语句需要内嵌在引用的标签中。被标记的语句可以是任何语句;不一定是循环语句。

示例

下面的函数里有个 break语句,当i为 3 时,会中止while循环,然后返回 3 *x 的值。

代码语言:javascript
复制
function testBreak(x) {
  var i = 0;

  while (i < 6) {
    if (i == 3) {
      break;
    }
    i += 1;
  }

  return i * x;
}

下面的代码中一起使用 break语句和被标记的块语句。一个 break语句必须内嵌在它引用的标记中。注意,inner_block内嵌在 outer_block 中。

代码语言:javascript
复制
outer_block: {
  inner_block: {
    console.log('1');
    break outer_block; // breaks out of both inner_block and outer_block
    console.log(':-('); // skipped
  }
  console.log('2'); // skipped
}

下面的代码同样使用了 break语句和被标记的块语句,但是产生了一个语法错误,因为它的 break 语句在 block_1 中,但是引用了 block_2break 语句必须内嵌在它引用的标签中。

代码语言:javascript
复制
block_1: {
  console.log('1');
  break block_2; // SyntaxError: label not found
}

block_2: {
  console.log('2');
}

规范

Specification

Status

Comment

ECMAScript 1st Edition (ECMA-262)

Standard

Initial definition. Unlabeled version.

ECMAScript 3rd Edition (ECMA-262)

Standard

Labeled version added.

ECMAScript 5.1 (ECMA-262)The definition of 'Break statement' in that specification.

Standard

ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Break statement' in that specification.

Standard

ECMAScript Latest Draft (ECMA-262)The definition of 'Break statement' in that specification.

Draft

浏览器兼容性

Feature

Chrome

Edge

Firefox (Gecko)

Internet Explorer

Opera

Safari

Basic support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

Feature

Android

Chrome for Android

Edge

Firefox Mobile (Gecko)

IE Mobile

Opera Mobile

Safari Mobile

Basic support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

扫码关注腾讯云开发者

领取腾讯云代金券