Выявление этикеток
Оператор этикеток используется с Перерыв и Продолжить заявления и служит для определения заявления, к которому Перерыв и Продолжить заявления применяются.
Мы поговорим больше о Перерыв и Продолжить заявления ниже.
Синтаксис
labelname: statements
использование
Без использования помечены Заявление Перерыв Заявление может вырваться только из цикла или Переключатель утверждение. Используя помечены Заявление позволяет Перерыв Выпрыгнуть из любого блока кода.
Пример
foo: {
console.log("This prints:");
break foo;
console.log("This will never print.");
}
console.log("Because execution jumps to here!")
/* output
This prints:
Because execution jumps to here! */При использовании с Продолжить Заявление помечены Заявление позволяет пропустить петлю итерацию, преимущество исходит от возможности выпрыгивать из внутреннего цикла на внешнюю, когда у вас появятся вложенные операторы петли. Без использования помечены Заявление Вы можете выпрыгнуть из существующей петли итерации к Следующая итерация того же петля.
Пример
// without labeled statement, when j==i inner loop jumps to next iteration
function test() {
for (var i = 0; i < 3; i++) {
console.log("i=" + i);
for (var j = 0; j < 3; j++) {
if (j === i) {
continue;
}
console.log("j=" + j);
}
}
}
/* output
i=0 (note j=0 is missing)
j=1
j=2
i=1
j=0 (note j=1 is missing)
j=2
i=2
j=0
j=1 (note j=2 is missing)
*/
// using a labeled statement we can jump to the outer (i) loop instead
function test() {
outer: for (var i = 0; i < 3; i++) {
console.log("i=" + i);
for (var j = 0; j < 3; j++) {
if (j === i) {
continue outer;
}
console.log("j=" + j);
}
}
}
/*
i=0 (j only logged when less than i)
i=1
j=0
i=2
j=0
j=1
*/Выявление переключения
Перерыв Заявление завершает текущую петлю, выключатель или этикетка Заявление и трансферты Программный контроль в заявление после окончанного заявления.
break;
Если Перерыв Заявление используется в меченном операторе, синтаксис выглядит следующим образом:
break labelName;
Примеры
Следующая функция имеет Перерыв заявление, которое прекращает в то время как петля, когда Я 3, а затем возвращает значение 3 * x Отказ
function testBreak(x) {
var i = 0;
while (i < 6) {
if (i == 3) {
break;
}
i += 1;
}
return i * x;
}Запустить код
В следующем примере счетчик устанавливается, чтобы сосчитать от 1 до 99; Тем не менее, Перерыв Заявление охватывает петлю после 14с.
for (var i = 1; i < 100; i++) {
if (i == 15) {
break;
}
}Запустить код
Продолжить утверждение
Продолжить Заявление охватывает выполнение утверждений в нынешней итерации текущей или маркированной петли и продолжает выполнение петли с помощью следующей итерации.
continue;
Если Продолжить Заявление используется в меченном операторе, синтаксис выглядит следующим образом:
continue labelName;
В отличие от Перерыв Заявление, Продолжить не заканчивает выполнение цикла целиком; вместо:
- В оформлении в то время как
Цикл, он прыгает обратно в состояние.В оформлении для - Цикл, он прыгает на выражение обновления.
Примеры
В следующем примере показано в то время как петля, которая имеет Продолжить заявление, которое выполняет, когда значение Я 3. Таким образом, n Занимает значения 1, 3, 7 и 12.
var i = 0;
var n = 0;
while (i < 5) {
i++;
if (i === 3) {
continue;
}
n += i;
console.log (n);
}Запустить код
В следующем примере петля илетет с 1 по 9. Заявления между Продолжить и конец для Тело пропущено из-за использования Продолжить Заявление вместе с выражением (I <5) Отказ
for (var i = 1; i < 10; i++) {
if (i < 5) {
continue;
}
console.log (i);
}Запустить код
Оригинал: “https://www.freecodecamp.org/news/javascript-loops-label-statement-continue-statement-and-break-statement-explained/”