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

Оператор switch в JavaScript

 Операторы и объявления переменных JavaScript

switchОператоры являютсяУсловные операторыодин из них, используемый для выполнения различных действий в различных условиях.

switchОператор evaluates the expression, matches the value of the expression with the case clauses, and executes the statements associated with the matching case, as well as the statements after the matching case.

Связанные с каждым case меткойbreakУсловие ensures that the program exits the switch and continues executing the statements after the switch once the matching statement is executed. If break is omitted, the program will continue executing the next statement after the switch statement.

defaultОператор specifies some code to be executed by default if no match is found. Only one default statement is allowed in switch. Although it is optional, it is recommended to use it because it can handle unexpected situations.

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

Грамматика:

switch (expression) {
  case value1:   //语句执行时
   //表达式匹配的结果 value1
   break;
  case value2:   //语句执行时
   //表达式匹配的结果 value2
   break;
  ...
  case valueN:   //语句执行时
   //表达式匹配的结果 valueN
   break;
  default:   //没有以上情况时执行的语句
   //这些值与表达式的值匹配
   }
var city = document.querySelector("input").value;
var text;
switch (city) {
   case "Jaipur":
   text = "Jaipur is known as the Pink City";
   break;
   case "Bengaluru":
   text = "Bengaluru is known as the IT city";
   break;
   case "Kerala": 
   text = "Kerala God's Own Country";
   break;
   default:
   text = "I have never heard of that city...";
}
Проверьте, посмотрите‹/›

Совместимость с браузерами

Все браузеры полностью поддерживают switch-оператор:

Предложение
switchДаДаДаДаДа

Значение параметра

ПараметрОписание
expressionВыражение, результат которого сравнивается с каждым предложением case.
case valueNПредложение case, используемое для соответствия выражению. Если выражение соответствует заданному valueN, то выполняются инструкции в предложении case, до конца switch-оператора или break.
default(Опционально) Дефолтное предложение; если оно предоставлено, то выполняется, если значение expression не соответствует любому из предложений case.

Технические детали

Версия JavaScript:ECMAScript 1

Более примеров

Использование номера рабочей недели для вычисления названия дня недели (воскресенье = 0, понедельник = 1 и т.д...):

var day;
switch (new Date().getDay()) {
case 0: day = "Sunday";
break;
case 1: day = "Monday";
break;
case 2: day = "Tuesday";
break;
case 3: day = "Wednesday";
break;
case 4: day = "Thursday";
break;
case 5: day = "Friday";
break;
case 6: day = "Saturday";
break;
default: day = "Undefined Day";
}
Проверьте, посмотрите‹/›

Если вы забудете break, то скрипт начнет выполняться с соответствующего условия и продолжит выполняться до тех пор, пока не выполнится условие:

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 statement executed";
}
Проверьте, посмотрите‹/›

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

Это пример的一句话switch-оператора, где четыре различных значения выполняют одну и ту же операцию:

var num = Number(document.querySelector("input").value);
var text;
switch (num) {
   case 1:
   case 2:
   case 3:
   case 4:
  text = "Введенный вами номер находится между 1 - 4";
  break;
   case 5:
   case 6:
   case 7:
   case 8:
  text = "Введенный вами номер находится между 5 - 8";
  break; 
   default: text = "Выполнено выполнение mặc định";
}
Проверьте, посмотрите‹/›

См. также

Учебник JavaScript:Оператор If ... Else JavaScript

Учебник JavaScript:Оператор switch JavaScript

Референс JavaScript:Оператор break JavaScript

 Операторы и объявления переменных JavaScript