Инструкция switch в JavaScript. Блоки case и default. Инструкция break

Инструкция switch сравнивает значение выражения, расположенного в круглых скобках, со всеми константами, стоящими рядом с ключевыми словами case, в порядке их следования. Синтаксис инструкции switch выглядит следующим образом

Инструкция switch в JavaScript

» » Сообщение:

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

Код: Выделить всё Развернуть
switch (выражение) {
  case константа: инструкции;
  ...
  case константа: инструкции;
  default: инструкции;
}

Инструкция switch сравнивает значение выражения, расположенного в круглых скобках, со всеми константами, стоящими рядом с ключевыми словами case, в порядке их следования.
При сравнении используется оператор идентичности «===». Каждый из вариантов (блоков case) имеет метку в виде константного значения, за которым ставится двоеточие.
Если одна из меток совпадает со значением выражения, то управление передается инструкциям, расположенным после этой метки.
Блок default выполняется в том случае, если не найдено ни одного соответствия с метками блоков case.
Наличие блока default не обязательно, если его нет и не найдено ни одного соответствия, то никакие инструкции выполнены не будут:

Код: Выделить всё Развернуть
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");
}

Данный код выводит на экран одно из четырех сообщений в зависимости от того, какое число находится в переменной «x». На изображении ниже показан порядок выполнения инструкции switch:

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

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

При отсутствии инструкции break управление будет передано инструкциям, находящимся в других блоках case, т.е. после выполнения кода в блоке case продолжается выполнение кода следующего блока case и так до тех пор, пока не будет предпринята какая-нибудь операция для выхода из инструкции 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 > 3");
}

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

Достоинство в отсутствии инструкции 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 x = 3;
 
switch (x) {
  case 1: case 2: case 3:
    document.write("x равен 1, 2 или 3");
    break;
  case 7:
    document.write("x равен 7");
    break;
}
switch, javascript, case, break, return, continue, инструкции, блоки, операции



Похожие темыКомментарии ПросмотрыПоследнее сообщение
0648JavaScript. Логические операторы и ...
Сообщение от: Admin
0847Javascript Math.random(), аналог PH...
Сообщение от: Admin
3900BBComplex - Классы для каскадных та...
Сообщение от: Admin
02350Дженнифер Нидерст Роббинс. HTML5, C...
Сообщение от: Admin
0463JavaScript методы alert, document.w...
Сообщение от: Admin