Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
32. Условные инструкции: инструкция switch
Иногда все ветви зависят от одного и того же значения, поэтому использовать if
неудобно и нерационально. Именно для таких ситуаций и нужна инструкция switch
. Далее пример ее использования:
switch (a) {
case 1: /* Если a === 1 */
/* инструкции */
break; /* Разрыв / выход из switch */
case 2: /* Если a === 2 */
/* инструкции */
break; /* Разрыв / выход из switch */
default: /* Если предыдущие условия не выполнились */
/* инструкции */
break; /* Разрыв / выход из switch */
}
Теперь разберемся с этим кодом. Когда выполняется инструкция switch
, то она вычисляет значение, а затем ищет case
с таким же значением. Причем проверяет на идентичность (===
), а не на равенство. Если нужный case
найден, то выполнится этот case
. Если нужный case
не найден, то выполняется ветка default
. Обязательно нужно писать break
в конце каждого блока case
, иначе switch
выполнит этот блок case
и продолжит выполнять дальше, пока не будет найден конец. Чтобы понять это, рассмотрим пример:
var a = 'Привет';
switch (a) {
case 'Привет':
document.write('И тебе привет <br>');
case 'Пока':
document.write('И тебе пока <br>');
default:
document.write('Что? <br>');
}
Нужно было вывести только И тебе привет
, а вывело все фразы. А теперь добавим break
и проверим результат:
var a = 'Привет';
switch (a) {
case 'Привет':
document.write('И тебе привет <br>');
break;
case 'Пока':
document.write('И тебе пока <br>');
break;
default:
document.write('Что? <br>');
break;
}
Как лучше сделать, если значение разное, но выводить все равно одно и то же? Пример:
var a = 'Привет';
switch (a) {
case 'Привет':
case 'Приветик':
document.write('И тебе привет <br>');
break;
case 'Пока':
document.write('И тебе пока <br>');
break;
default:
document.write('Что? <br>');
break;
}
Теперь перепишем нашу последнюю конструкцию на if
:
var a = 'Привет';
if (a === 'Привет' || a === 'Приветик') {
document.write('И тебе привет <br>');
}
else if (a === 'Пока') {
document.write('И тебе пока <br>');
}
else {
document.write('Что? <br>');
}
Похожие уроки Codebra
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
- Вам дан код с использованием инструкции
if
:Заданиеvar a = 12;
if (a === 12 || a === 13 || a === 14) {
document.write('Число от 12 до 14');
}
else if (a === 15) {
document.write('15');
}
else {
document.write('> 15');
}switch
– Не пропускайте новостей, подпишитесь на нашу страницу ВКонтакте, Telegram.
– На данный момент на сайте нет возможности оставлять комментарии, но Вы можете спросить в нашей Telegram-группе.
Это займет не больше минуты.