Задание нескольких условий с помощью оператора switch
Чтобы избавить Вас от многократного введения операторов if, в JavaScript добавлен оператор switch. Он позволяет задавать целый блок условий, приводящих к выполнению самых разных действий.
Внимание: Оператор switch впервые использовался в JavaScript 1.2 (Netscape Navigator 4.0). Поэтому, перед тем как использовать его, удостоверьтесь, что Ваш браузер поддерживает его. Чтобы избежать возможных ошибок, также указывайте версию JavaScript: <SCRIPT LANGUAGE="JavaScript1.2">.
Структура данного оператора следующая:
switch(выражение){
case label1: выполнение оператора 1, если выражение равно label1
break
case label2: выполнение оператора 2, если выражение равно label2
break
. . .
default: выполнение оператора n, если выражение не равно ни одной метке
}
Рассмотрим пример с использованием оператора switch: Пусть осуществляется ввод строки по запросу: 'Введите название месяца', если введены названия зимних месяцев - выводится сообщение: 'Время года зима', весенних месяцев - 'Время года весна' и т. д. При вводе любого другого значения выводится сообщение: 'Нет такого времени года'. Для ввода строки воспользуемся методом prompt().
<script language="JavaScript">
var x=prompt('Введите название месяца',' ')
switch(x){
case 'декабрь':alert('Время года зима')
break
case 'январь':alert('Время года зима')
break
case 'февраль':alert('Время года зима')
break
case 'март':alert('Время года весна')
break
case 'апрель':alert('Время года весна')
break
case 'май':alert('Время года весна')
break
case 'июнь':alert('Время года лето')
break
case 'июль':alert('Время года лето')
break
case 'август':alert('Время года лето')
break
case 'сентябрь':alert('Время года осень')
break
case 'октябрь':alert('Время года осень')
break
case 'ноябрь':alert('Время года осень')
break
default:alert('Нет такого времени года')
}
</script>
Оператор switch состоит из нескольких основных элементов.
Начальный оператор switch. Этот оператор определяет сравниваемое значение (в приведенном выше примере x), которое вводится в скобках.
Фигурные скобки {}. Выполняют те же функции, что и скобки в операторе if.
Один или несколько элементом case. Каждая из строк, которая начинается этим элементом, содержит значение, сравнимое с исходным. Если значения совпадают, выполняется оператор с следующим за ним серией команд, указанный после ключевого слова case. В противном случае сравнивается следующее значение case.
Ключевое слово break, используется для определения конца действия текущего элемента case.
Элемент default. Выполняется по умолчанию, если ни один из элементов case не содержит правильного значения.
Замечание: после каждого элемента case можно использовать несколько операторов действий. Заключать их в фигурные скобки нет необходимости. Если условие текущего элемента case справедливо, то выполняются все операторы, введенные до ключевого слова break.