English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы JavaScript

Объекты JavaScript

Функции JavaScript

JS HTML DOM

JS Браузер BOM

Основы AJAX

JavaScript Руководство

Оператор switch JavaScript

Switch — это условное предложение, как и if ... else ..., но с той разницей, что команда switch позволяет проверять, равна ли переменная списку значений.

Использование switch для выбора одного из многих блоков кода для выполнения. Это идеальное решение для сложных вложенных команд if…else.

Одна команда switch выглядит следующим образом:

switch (expression) {
  case value1:  
    //Выполнить команду
    //Результат выражения соответствует value1
  break;
  case value2:  
    //Выполнить команду
    //Результат выражения соответствует value2
  break;
  ...
  case valueN:  
    //Выполнить команду
    //Результат выражения соответствует value N
  break;
  default:
   //Если ни одно из вышеуказанных условий не выполняется
   //Выполнить этот блок кода
 }

В соответствии с логикой блока кода выше, это будет порядок событий, которые произойдут:

  • Выражение switch оценивается один раз

  • Сравнение значения выражения с каждым значением случая

  • Если совпадение, выполняется соответствующий блок кода

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

Ниже приведен пример использования номеров рабочих дней для расчета дня недели:

var day;
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;
default: 
 day = "Неопределенный день";
}
Kiểm tra xem‹/›

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

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

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

var num = Number(document.querySelector("input").value);
var text;
switch (num) {
   case 1: 
    text = "Введенный вами номер составляет 1";
   case 2: 
    text = "Введенный вами номер составляет 2";
   case 3: 
    text = "Введенный вами номер составляет 3";
   case 4: 
    text = "Введенный вами номер составляет 4";
   case 5: 
    text = "Введенный вами номер составляет 5";
   default: 
    text = "Выполнить	default	сценарий";
}
Kiểm tra xem‹/›

Нет необходимости прерывать последний случай блока switch (т.е. default). Поскольку блок завершается здесь.

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

Если не найден соответствующий случай, ключевое слово default определяет некоторые коды, которые нужно выполнить.

В switch может быть только один тег по умолчанию.虽然说这是可选的,но рекомендуется использовать его, так как он может обрабатывать неожиданные случаи.

Множественные случаи

Иногда, вы хотите, чтобы различные случаи использовали одинаковый код или общие коды.

Это пример оператора switch с операцией, выполняемой одинаково для четырех различных значений:

var num = Number(document.querySelector("input").value);
var text;
switch (num) {
   case 1:
   case 2:
   case 3:
   case 4:
  text = "Số bạn nhập nằm giữa hai số 1 - 4";
  break;
   case 5:
   case 6:
   case 7:
   case 8:
  text = "Số bạn nhập nằm giữa hai số 5 - 8";
  break; 
   default: text = "Thực hiện câu lệnh mặc định";
}
Kiểm tra xem‹/›

Nếu nhiều trường hợp phù hợp với giá trị, sẽ chọn trường hợp đầu tiên.

Nếu không tìm thấy trường hợp phù hợp, chương trình sẽ tiếp tục sử dụng tùy chọn mặc định.

Если не найден mặc định тег, chương trình sẽ tiếp tục thực hiện câu lệnh sau khi chuyển đổi.