众所周知,break
和continue
可以在循环中使用:
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
。您可以标记任何语句,对于那些具有某种主体(循环、switch
、if
、try
、with
、block…(的语句,您可以在主体内使用break
来分解它
foo: {
console.log("In block before break");
break foo;
console.log("In block after break");
}
console.log("After block");
断开前在块中块
continue
之后
不能将continue
与if
一起使用(甚至不是带标签的(,因为if
不是迭代语句;来自规范
如果此ContinueState未直接或间接嵌套(但未跨越函数边界(在IterationStatement内,则为语法错误。
通常情况下不能。您只能使用return;
来中断if语句中的代码执行。
使用break
if (true) {
break;
}
console.log(1)
使用continueif (true) {
continue;
}
console.log(1)