Can i use continue and break in an if statement without any loops in JAVASCRIPT?

前端 未结 2 1148
[愿得一人]
[愿得一人] 2021-01-29 16:49

It\'s well-known that break and continue can be used inside a loop:

相关标签:
2条回答
  • 2021-01-29 17:06

    The answer is different for break (yes) and continue (no).

    break

    You can use break in an if, yes, if you label the if. I wouldn't, but you can:

    foo: if (true) {
        console.log("In if before break");
        break foo;
        console.log("In if after break");
    }
    console.log("After if");

    That outputs

    In if before break
    After if
    

    This isn't specific to if. You can label any statement, and for those with some kind of body (loops, switch, if, try, with, block, ...), you can use break within the body to break out of it. For instance, here's an example breaking out of a block statement:

    foo: {
        console.log("In block before break");
        break foo;
        console.log("In block after break");
    }
    console.log("After block");

    In block before break
    After block
    

    continue

    You can't use continue with if (not even a labelled one) because if isn't an iteration statement; from the spec.

    It is a Syntax Error if this ContinueStatement is not nested, directly or indirectly (but not crossing function boundaries), within an IterationStatement.

    0 讨论(0)
  • 2021-01-29 17:21

    Normally you can't. You can only use return; to discontinue code execution in an if statement.

    Using break;

    if (true) {
      break;
    }
    console.log(1)

    Using continue;

    if (true) {
      continue;
    }
    console.log(1)

    0 讨论(0)
提交回复
热议问题