JavaScript Оператор switch
Оператор switch
используется для выполнения различных действий, основанных на различных условиях.
JavaScript Оператор Switch
Используйте оператор switch
, чтобы выбрать один из множества блоков кода для выполнения.
Синтаксис
switch(expression) {
case x:
// блок кода
break;
case y:
// блок кода
break;
default:
// блок кода
}
Вот как это работает:
- Выражение switch (переключателя) вычисляется один раз.
- Значение выражения сравнивается со значениями каждого случая.
- Если есть совпадение, соответствующий блок кода выполняется.
- Если совпадений нет, выполняется блок кода по умолчанию
Пример
Метод 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.
Это остановит выполнение внутри блока.
Нет необходимости обрывать последний кейс в блоке switch. Блок всё равно обрывается (заканчивается).
Примечание: Если вы пропустите оператор break, следующий кейс будет выполнен, даже если оценка не соответствует кейсу.
Ключевое слово default
Ключевое слово default
указывает код для запуска, если нет ни одного совпадения:
Пример
Метод getDay()
возвращает день недели в виде числа от 0 до 6.
Если сегодня не Суббота (6) и не Воскресенье (0), напишите сообщение по умолчанию (default):
switch (new Date().getDay()) {
case 6:
text = "Сегодня суббота";
break;
case 0:
text = "Сегодня воскресенье";
break;
default:
text = "С нетерпением жду выходных";
}
Результатом текста будет:
Случай default
не должен быть последним случаем в блоке switch:
Пример
switch (new Date().getDay()) {
default:
text = "С нетерпением жду выходных";
break;
case 6:
text = "Сегодня суббота";
break;
case 0:
text = "Сегодня воскресенье";
}
Попробуйте сами »
Если default
не является последним кейсом в блоке switch, не забудьте завершить кейс default с помощью break.
Общие блоки кода
Иногда необходимо, чтобы разные варианты переключения (кейсы switch) использовали один и тот же код.
В этом примере 4 и 5 используют один и тот же блок кода, а 0 и 6 - другой блок кода:
Пример
switch (new Date().getDay()) {
case 4:
case 5:
text = "Скоро выходные";
break;
case 0:
case 6:
text = "Сейчас выходные";
break;
default:
text = "С нетерпением жду выходных";
}
Попробуйте сами »
Детали переключения
Если нескольким кейсам соответствует значение кейса, выбирается первый кейс.
Если подходящих кейсов не найдено, программа переходит на ярлык default.
Если метка по умолчанию не найдена, программа переходит к оператору(ам) после switch.
Строгое сравнение
Switch кейсы используют строгое сравнение (===).
Значения должны быть одного типа, чтобы соответствовать.
Строгое сравнение может быть true, только если операнды имеют одинаковый тип.
В этом примере не будет совпадения для х:
Пример
var x = "0";
switch (x) {
case 0:
text = "Выкл";
break;
case 1:
text = "Вкл";
break;
default:
text = "Значение не найдено";
}
Попробуйте сами »