Прикладной код

Конструкция «Label»

Конструкция «Label»

Синтаксис

Метка :
   инструкция

Параметры

  • Метка — любой идентификатор JavaScript, который не является ключевым словом;
  • инструкция — выполняемая инструкция.

Описание

Конструкцию метки label можно использовать вместе с break или continue для альтернативного выхода из цикла. Оно добавляется перед блочным выражением в качестве ссылки, которая может быть использована в дальнейшем.

Вы можете применять метки для обозначения циклов, чтобы затем при помощи break или continue выходить из цикла или продолжать его работу с новой итерации.

break может быть использован с любой отмеченной инструкцией, а continue только с метками около начала цикла.

Примеры

Использование метки с continue с циклом for.

var i, j;

loop1:
 for (i = 0; i < 3; i++) { //Первый цикл, обозначенный меткой "loop1"
  loop2: for (j = 0; j < 3; j++) { //Второй цикл, обозначенный меткой "loop2"
   if (i == 1 && j == 1) {
    continue loop1;
   }
   alert("i = " + i + ", j = " + j);
  }
 }

// Вывод:
//   "i = 0, j = 0"
//   "i = 0, j = 1"
//   "i = 0, j = 2"
//   "i = 1, j = 0"
//   "i = 2, j = 0"
//   "i = 2, j = 1"
//   "i = 2, j = 2"
// Обратите внимание на пропуск "i = 1, j = 1" и "i = 1, j = 2"

Использование меток с break.

var i, j;

loop1:
 for (i = 0; i < 3; i++) { //Первый цикл, обозначенный меткой "loop1"
  loop2: for (j = 0; j < 3; j++) { //Второй цикл, обозначенный меткой "loop2"
   if (i == 1 && j == 1) {
    break loop1;
   }
   alert("i = " + i + ", j = " + j);
  }
 }

// Вывод:
//   "i = 0, j = 0"
//   "i = 0, j = 1"
//   "i = 0, j = 2"
//   "i = 1, j = 0"
// Обратите внимание на аналогичный пример с continue