skillbox banner 468x60skillbox banner 728x90skillbox banner 930x180jivo banner 468x60jivo banner 728x90jivo banner 930x180smsc banner 468x60smsc banner 728x90smsc banner 930x180

Руководство по операторам Switch…Case в JavaScript

Оператор switch ... case является альтернативой оператору if … else if … else, который делает почти то же самое. Оператор switch … case проверяет переменную или выражение по ряду условий, пока не найдет совпадение, а затем выполняет блок кода, соответствующий этому совпадению. Это синтаксис:

switch(x){
    case value1:
        // Код, который будет выполнен, если x === value1
        break;
    case value2:
        // Код, который будет выполнен, если x === value2
        break;
    ...
    default:
        // Код, который будет выполнен, если x отличается от всех значений
}

Рассмотрим следующий пример, в котором отображается название дня недели.

var d = new Date();
	
switch(d.getDay()) {
	case 0:
		alert("Today is Sunday.");
		break;
	case 1:
		alert("Сегодня понедельник.");
		break;
	case 2:
		alert("Сегодня вторник.");
		break;
	case 3:
		alert("Сегодня среда.");
		break;
	case 4:
		alert("Today is Thursday.");
		break;
	case 5:
		alert("Сегодня пятница.");
		break;
	case 6:
		alert("Сегодня суббота.");
		break;   
	default:
		alert("Информация о сегодняшнем дне недоступна.");
		break;
}

Метод getDay() возвращает день недели в виде числа от 0 до 6, где 0 представляет воскресенье. Подробнее см. Руководство по работе с датами и временем в JavaScript, чтобы узнать больше об этих методах.

В операторе switch…case значение выражения или переменной сравнивается со значением case с помощью оператора строгого равенства (===). Это означает, что если x = "0", это не соответствует case 0:, потому что их типы данных не равны.

У оператора switch … case есть существенное отличиет от оператора if … else. Оператор switch выполняется построчно (то есть оператор за оператором), и как только JavaScript находит case, который оценивается как true, он не только выполняет код, соответствующий этому предложению case, но также выполняет все последующие case до конца автоматически.

Чтобы предотвратить это, вы должны включать оператор break после каждого case (как вы можете видеть в приведенном выше примере). Оператор break указывает интерпретатору JavaScript выйти из блока оператора switch … case после выполнения кода, связанного с первым истинным условием.

Однако оператор break не требуется для последнего case, т.е. default. Хотя, это хорошая практика программирования — завершать последнее условие. Это предотвращает возможную ошибку программирования позже, если к оператору switch будет добавлен другой оператор case.

Условие default не обязательно должно быть последним, которое появляется в операторе switch. Вот пример, где default не является последним условием.

var d = new Date();

switch(d.getDay()) {
    default: 
        alert("Ждем выходных.");
        break;
    case 6:
        alert("Today is Saturday.");
        break; 
    case 0:
        alert("Сегодня воскресенье.");
}

Совместное использование нескольких Cases

Каждое значение должно быть уникальным в инструкции switch, но при этом несколько сases могут использовать одно и то же действие, как показано здесь:

var d = new Date();

switch(d.getDay()) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        alert("It is a weekday.");
        break; 
    case 0:
    case 6:
        alert("Это выходной день.");
        break;
    default: 
        alert("Enjoy every day of your life.");
}
flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600beget banner 480x320beget banner 728x90beget banner 120x600jivo banner 480x320jivo banner 728x90jivo banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Руководство по сортировке массивов в JavaScript

Сортировка — обычная задача при работе с массивами. Она будет использоваться, например, если вы захотите отобразить названия городов или регионов в алфавитном порядке. JavaScript массив (array) имеет встроенный метод sort() для сортировки элементов массива в алфавитном порядке. Следующий пример демонстрирует, как это работает: Реверсирование массива Вы можете использовать метод reverse(), чтобы изменить порядок элементов массива…
Подробнее

Руководство по массивам в JavaScript

Массивы — это сложные переменные, которые позволяют нам хранить группы значений под одним именем переменной. Массивы JavaScript могут хранить любое допустимое значение, включая строки, числа, объекты, функции и даже другие массивы, что позволяет создавать более сложные структуры данных, такие как массив объектов или массив массивов. Предположим, вы хотите сохранить название цветов в своем коде JavaScript….
Подробнее

Руководство по работе с атрибутами DOM в JavaScript

Атрибуты — это специальные слова, используемые внутри начального тега HTML-элемента для управления поведением тега или предоставления дополнительной информации о теге. JavaScript предоставляет несколько методов для добавления, удаления или изменения атрибутов HTML-элемента. В этом разделе мы узнаем об этих методах подробно. Получение значения атрибута элемента Метод getAttribute() используется для получения текущего значения атрибута элемента. Если указанный…
Подробнее