Посмотреть все уроки курса
Выбрать другой урок из курса
Поиск по сайту
Теория урока

32. Условные инструкции: инструкция switch

Иногда все ветви зависят от одного и того же значения, поэтому использовать if неудобно и нерационально. Именно для таких ситуаций и нужна инструкция switch. Далее пример ее использования:

Пример 1
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 и продолжит выполнять дальше, пока не будет найден конец. Чтобы понять это, рассмотрим пример:

Пример 2
var a = 'Привет';
switch (a) {
case 'Привет':
document.write('И тебе привет <br>');
case 'Пока':
document.write('И тебе пока <br>');
default:
document.write('Что? <br>');
}

Нужно было вывести только И тебе привет, а вывело все фразы. А теперь добавим break и проверим результат:

Пример 3
var a = 'Привет';
switch (a) {
case 'Привет':
document.write('И тебе привет <br>');
break;
case 'Пока':
document.write('И тебе пока <br>');
break;
default:
document.write('Что? <br>');
break;
}

Как лучше сделать, если значение разное, но выводить все равно одно и то же? Пример:

Пример 4
var a = 'Привет';
switch (a) {
case 'Привет':
case 'Приветик':
document.write('И тебе привет <br>');
break;
case 'Пока':
document.write('И тебе пока <br>');
break;
default:
document.write('Что? <br>');
break;
}

Теперь перепишем нашу последнюю конструкцию на if:

Пример 5
var a = 'Привет';
if (a === 'Привет' || a === 'Приветик') {
document.write('И тебе привет <br>');
}
else if (a === 'Пока') {
document.write('И тебе пока <br>');
}
else {
document.write('Что? <br>');
}

Похожие уроки и записи блога

Погружение в PythonЗнакомство с Python
Первое знакомство с PythonЗнакомство с Python
Типы данных в PythonЗнакомство с Python
Обработка исключений (try/except) в PythonЗнакомство с Python
Условная инструкция if-elif-else в PythonЗнакомство с Python
Урок 3. Генерация SSH-ключа для работы с GitHubБлог
Структуры данных в PythonЗнакомство с Python
Работа с файлами в Python Знакомство с Python
Директива use strict в JavaScriptИнструкции
<
×
>
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

Если что-то не нашли, то воспользуйтесь поиском по сайту, который находится на главной странице в самом верху.

Удачи в обучении!

Закрыть окно