Оператор switch используется для выполнения различных действий в зависимости от разных условий.
switch JavaScriptИспользуйте оператор switch, чтобы выбрать один из множества блоков кода для выполнения.
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}Вот как это работает:
Выражение переключения оценивается один раз.
Значение выражения сравнивается со значениями каждого случая.
Если совпадение есть, соответствующий блок кода выполняется.
Если совпадений нет, выполняется блок кода по умолчанию.
Метод getDay() возвращает день недели в виде числа между 0 и 6.
(Воскресенье=0, Понедельник=1, Вторник=2 ..)
В этом примере номер дня недели используется для вычисления названия дня недели:
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";
}Итогом дня будет:
<script>
let d=new Date().getDay();
switch (d) {
case 0:
x="Sunday";
break;
case 1:
x="Monday";
break;
case 2:
x="Tuesday";
break;
case 3:
x="Wednesday";
break;
case 4:
x="Thursday";
break;
case 5:
x="Friday";
break;
case 6:
x="Saturday";
break;
}
document.write(x);
Попробуйте сами →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript switch</h2>
<p id="demo"></p>
<script>
let 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";
}
document.getElementById("demo").innerHTML = "Today is " + day;
</script>
</body>
</html>
breakКогда JavaScript достигает разрыва ключевое слово, он вырывается из блока переключателей.
Это остановит выполнение внутри блока переключателей.
Последний корпус в блоке переключателей ломать не нужно. Блок все равно там ломается (заканчивается).
Примечание. Если вы опустите оператор Break, следующий случай будет выполнен, даже если оценка не соответствует делу.
defaultКлючевое слово default указывает код, который будет выполняться, если нет совпадение с регистром:
Метод getDay() возвращает день недели в виде числа между 0 и 6.
Если сегодня не суббота (6) и не воскресенье (0), напишите сообщение по умолчанию:
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}Результатом текста будет:
<script>
switch (new Date().getDay()) {
case 6:
x= "Today is Saturday";
break;
case 0:
x = "Today is Sunday";
break;
default:
x = "Looking forward to the Weekend";
}
document.write(x);
Попробуйте сами →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript switch</h2>
<p id="demo"></p>
<script>
let text;
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Регистр default не обязательно должен быть последним в переключателе. блокировать:
switch (new Date().getDay()) {
default:
text = "Looking forward to the Weekend";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}Попробуйте сами →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript switch</h2>
<p id="demo"></p>
<script>
let text;
switch (new Date().getDay()) {
default:
text = "Looking forward to the Weekend";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Если default не является последним регистром в блоке переключателей, не забудьте завершить регистр по умолчанию разрывом.
Иногда вам захочется другого поменяйте регистры, чтобы использовать один и тот же код.
В этом примере 4 и 5 используют один и тот же блок кода, а 0 и 6 — общий. еще один блок кода:
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}Попробуйте сами →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript switch</h2>
<p id="demo"></p>
<script>
let text;
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Если одному регистру соответствует несколько вариантов, выбирается первый вариант.
Если соответствующие случаи не найдены, программа переходит к метке default.
Если метка по умолчанию не найдена, программа переходит к инструкциям после переключения.
В случаях переключения используется строгое сравнение (===).
Для соответствия значения должны быть одного типа.
Строгое сравнение может быть верным только в том случае, если операнды имеют один и тот же тип.
В этом примере не будет совпадения для x:
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
} Попробуйте сами →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript switch</h2>
<p id="demo"></p>
<script>
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>