Синтаксис JavaScript Справочник JavaScript JSON Коды клавиш События Строгий режим

JavaScript: switch

Инструкция switch была придумана в качестве альтернативы для нескольких if. Обычно она используется когда нужно сравнить некоторое значение сразу с несколькими различными вариантами (другими значениями) и выполнить соответствующий фрагмент кода из предложенных вариантов.

Синтаксис switch:

switch (выражение) {
  case выражение1:
    // Этот фрагмент кода выполнится, если вычисленное значение выражения в скобках
    // равно значению выражение1
    break;
  ...
  case выражениеN:
    // Этот фрагмент кода выполнится, если вычисленное значение выражения в скобках
    // равно значению выражениеN
    break;
  default:
    // Этот фрагмент кода выполнится при отсутствии
    // совпадений со значениями представленных вариантов
}

В круглых скобках, после ключевого слова switch, указывается выражение, значение которого будет последовательно (сверху вниз) сравниваться со значениями выражений, указанных после ключевых слов case. При сравнении значений используется оператор ===.

Если соответствие значений установлено – switch начинает выполняться от соответствующего case и далее, пока не встретится инструкция break (или до конца switch, если break отсутствует). Если соответствие значений не установлено – выполняется код, расположенный после ключевого слова default.

case и default называют вариантами switch.

Обратите внимание, что вариант default, не является обязательным. При этом его можно располагать в любом месте в теле switch, однако для удобства, его условились записывать последним.

Инструкция break выполняет немедленный выход из инструкции switch. Она может располагаться в каждом варианте, но не является обязательной. При отсутствии инструкции break в каком-либо варианте управление будет передано инструкциям, относящимся к следующему варианту.

Пример работы инструкции switch:

var x = 3;

switch (x) {
  case 1:
    document.write("x равен 1");
    break;
  case 2:
    document.write("x равен 2");
    break;
  case 3:
    document.write("x равен 3");
    break;
  default:
    document.write("x > 3");
}
Попробовать »

На изображении ниже показан порядок выполнения:

порядок выполнения действий в инструкции switch

Пример без инструкции break:

var x = 2;

switch (x) {
  case 1:
    document.write("x равен 1");
  case 2:
    document.write("x равен 2");
  case 3:
    document.write("x равен 3");
  default:
    document.write("x: " + x);
}
Попробовать »

Для выхода из switch может использоваться не только инструкция break, но также и инструкция return (если switch находится внутри функции) или continue (если switch находится внутри цикла).

Несколько вариантов можно ассоциировать с одним и тем же программным кодом:

var x = 3;

switch (x) {
  case 1:
  case 2:
  case 3:
    document.write("x равен 1, 2 или 3");
    break;
  case 7:
    document.write("x равен 7");
    break;
}
Попробовать »

Варианты case не обязательно должны записываться друг под другом, для удобства их можно расположить в ряд:

var x = 3;

switch (x) {
  case 1: case 2: case 3:
    document.write("x равен 1, 2 или 3");
    break;
  case 7:
    document.write("x равен 7");
    break;
}
Попробовать »

Возможность использовать выражения в case позволяет писать такой код:

var num = 30;

switch (true) {
  case num == 0:
    document.write("num: " + num);
    break;
  case num > 5 && num < 15:
    document.write("num между 5 и 15");
    break;
  case num > 20:
    document.write("num: " + num);
    break;
}
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011-2016 © puzzleweb.ru

Реклама на сайте | puzinfo@puzzleweb.ru