mozilla
Your Search Results

    break

    The break statement terminates the current loop, switch, or label statement and transfers program control to the statement following the terminated statement.

    Syntax

    break [label];
    label
    Optional. Identifier associated with the label of the statement. If the statement is not a loop or switch, this is required.

    Description

    The break statement includes an optional label that allows the program to break out of a labeled statement. The break statement needs to be nested within the referenced label. The labeled statement can be any block statement; it does not have to be preceded by a loop statement.

    Examples

    The following function has a break statement that terminates the while loop when i is 3, and then returns the value 3 * x.

    function testBreak(x) {
      var i = 0;
    
      while (i < 6) {
        if (i == 3) {
          break;
        }
        i += 1;
      }
    
      return i * x;
    }

    The following code uses break statements with labeled blocks. A break statement must be nested within any label it references. Notice that inner_block is nested within outer_block.

    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
    }
    

    The following code also uses break statements with labeled blocks but generates a Syntax Error because its break statement is within block_1 but references block_2. A break statement must always be nested within any label it references.

    block_1: {
      console.log('1');
      break block_2; // SyntaxError: label not found
    }
    
    block_2: {
      console.log('2');
    }
    

    Specifications

    Specification Status Comment
    ECMAScript 1st Edition Standard Initial definition. Unlabeled version.
    ECMAScript 3rd Edition Standard Labeled version added.
    ECMAScript 5.1 (ECMA-262)
    The definition of 'Break statement' in that specification.
    Standard  
    ECMAScript 6 (ECMA-262)
    The definition of 'Break statement' in that specification.
    Release Candidate  

    Browser compatibility

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

    See also

    Document Tags and Contributors

    Last updated by: fscholz,
    Hide Sidebar