Конструкция Switch JavaScript

switch выражение используется для выполнения различных действий на основе различных условий.

Конструкция Switch JavaScript

пожалуйста, используйте switch выражение для выбора одного из нескольких кодовых блоков, которые необходимо выполнить.

грамматика

switch(выражение) {
     case n:
        Блок кода
        break;
     case n:
        Блок кода
        break;
     default:
        Блок кода по умолчанию
} 

Объяснение кода:

  • Однократное вычисление выражения switch
  • Сравнивается значение выражения с каждым значением case
  • Если есть соответствие, выполняется связанный код

Пример

Метод getDay() возвращает цифровой номер дня недели от 0 до 6 (номер дня недели).

(Воскресенье=0, Понедельник=1, Вторник=2 ..)

Этот пример использует цифровые значения названий недель для вычисления названий недель:

switch (new Date().getDay()) {
    case 0:
        day = "Воскресенье";
        break;
    case 1:
        day = "Понедельник";
         break;
    case 2:
        day = "Вторник";
         break;
    case 3:
        day = "Среда";
         break;
    case 4:
        day = "Четверг";
         break;
    case 5:
        day = "Пятница";
         break;
    case 6:
        day = "Суббота";
} 

Результат будет:


Попробуйте сами

Ключевое слово break

Если JavaScript встречает break Ключевое слово, которое跳出 блок switch.

Это останавливает выполнение более кода в блоке и тестирование case.

Если найден соответствующий элемент и задача выполнена, то случайным образом прерывается выполнение (break). Не требуется больше тестирования.

break Это может сэкономить много времени выполнения, так как он «пропускает» выполнение другого кода в блоке switch.

Не нужно прерывать последний case в блоке switch. Блок кода заканчивается естественным образом.

Ключевое слово default

default Ключевое слово определяет执行的 код при отсутствии соответствия case:

Пример

getDay() Метод возвращает цифровой номер дня недели от 0 до 6.

Если сегодня ни суббота (6), ни воскресенье (0), то выводится сообщение по умолчанию:

switch (new Date().getDay()) {
    case 6:
        text = "Сегодня суббота";
        break; 
    case 0:
        text = "Сегодня воскресенье";
        break; 
    default: 
        text = "Жду выходных~";
} 

Результат text:


Попробуйте сами

Мặc địnhcase не обязательно должен быть последним case в блоке switch:

Пример

switch (new Date().getDay()) {
    default: 
        text = "Жду выходных!";
         break;
    case 6:
        text = "Сегодня суббота";
        break; 
    case 0:
        text = "Сегодня воскресенье";
} 

Попробуйте сами

Если default Не является последним case в блоке switch, помните, что используйте break для завершения mặc định case.

Обычные блоки кода

Иногда вам может потребоваться использовать разные case для одного и того же блока кода.

В этом примере, case 4 и 5 делят один и тот же блок кода, а 0 и 6 делят другой блок кода:

Пример

switch (new Date().getDay()) {
    case 4:
    case 5:
        text = "Выходные вот-вот:)";
        break; 
    case 0:
    case 6:
        text = "Сегодня выходные~";
         break;
    default: 
        text = "Жду выходных!";
} 

Попробуйте сами

Подробности о переключении

Если несколько case соответствуют одному значению case, выбирается первый case.

Если не найден соответствующий case, программа продолжит использование label по умолчанию.

Если не найденlabel по умолчанию, программа продолжит выполнение после switch.

Строгое сравнение

Использование switch case выполняет строгое сравнение (===)

Значение должно быть того же типа, что и тип, с которым нужно совпадать.

Точный сравнение возможно только тогда, когда операнды都属于 один и тот же тип.

В этом примере x не будет соответствовать:

Пример

var x = "0";
switch (x) {
  case 0:
    text = "Отключено";
    break;
  case 1:
    text = "Включено";
    break;
  default:
    text = "No value found";
}

Попробуйте сами

Дополнительные учебные материалы

Для получения дополнительной информации о Конструкция Switch JavaScriptДля получения дополнительной информации, пожалуйста, ознакомьтесь с соответствующим содержанием учебника по avanzado JavaScript:

Оператор switch в ECMAScript
Оператор switch является братом оператора if. В этой главе описывается использование оператора switch и различия с оператором switch в Java.