在JAVASCRIPT中,我可以在没有任何循环的if语句中使用continue和break吗



众所周知,breakcontinue可以在循环中使用:

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

有没有办法在if语句中使用它们,从If块中退出控件或重新启动if语句?

break(是(和continue(否(的答案不同。

break

您可以在if中使用break,是的,如果您标记了if。我不会,但你可以

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

输出

In if before break之后如果

这不是特定于if。您可以标记任何语句,对于那些具有某种主体(循环、switchiftrywith、block…(的语句,您可以在主体内使用break来分解它

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

断开前在块中块

continue之后

不能将continueif一起使用(甚至不是带标签的(,因为if不是迭代语句;来自规范

如果此ContinueState未直接或间接嵌套(但未跨越函数边界(在IterationStatement内,则为语法错误。

通常情况下不能。您只能使用return;来中断if语句中的代码执行。

使用break

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

使用continue

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

最新更新