Ветка кода, на которую перейдет управление при совпадении expression с labelN
statements_def
Ветка кода, которая будет выполнена, если expression не совпадет ни с одним значением labelN
Описание, примеры
Конструкция switch служит для сравнения значения на равенство с различными вариантами.
При этом равенство подразумевается в смысле оператора "==", сравнивать с регулярным выражением или как-то еще switch не умеет.
Если совпадение найдено, то соответствующий код исполняется до оператора break, который прекращает выполнение switch и передает управление дальше.
Пример: обычное применение switch
Выделить все
var a = 2+2switch(a){case3:
alert('Маловато')breakcase4:
alert('В точку!')breakcase5:
alert('Перебор')breakdefault:
alert('Я таких значений не знаю')}
Если оператор break отсутствует, то выполнение продолжается дальше.
Например, предыдущий пример без break:
Пример: switch без break
Выделить все
var a = 2+2switch(a){case3:
alert('Маловато')case4:
alert('В точку!')case5:
alert('Перебор')default:
alert('Я таких значений не знаю')}
При a=4 последовательно будут выполнены операторы:
Выделить все
alert('В точку!')alert('Перебор')alert('Я таких значений не знаю')
Несколько значений case можно группировать.
Пример: группировка case
Выделить все
var a = 2+2switch(a){case4:
alert('Верно!')breakcase3:
case5:
alert('Неверно!')breakdefault:
alert('Я таких значений не знаю')}
Дежурная шутка
Переписка в Интернете:
- Может, познакомимся?
- У меня есть парень.
- Жаль. А то мы бы покатались на моей машине, в кафе сходили...
- Сочувствую, но ничем не могу помочь.
- Тебе не нравятся машины?
- Да пошел ты! У меня есть парень. И, может, у него нет машины, но я его люблю.
- Тебе нравятся парни без машины?
- И без айфона, крутых шмоток и навороченных аватарок...
- Выходи за меня...