Ответ различен для break
(да) и continue
(нет).
break
Вы можете использовать break
в if
, да , если вы пометите 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
After if
Это не определено c до 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");
In block before break
After block
continue
Вы не можете использовать continue
с if
(даже без маркированного), потому что if
не является оператором итерации; с spe c.
Синтаксическая ошибка, если ContinueStatement не является вложенным, прямо или косвенно (но не пересекает границы функций) в пределах IterationStatement .