Справочник по JScript : Конструкции JScript : Конструкция switch
смотрим также
Материал из Справочник Web-языков
Содержание |
switch Statement - Конструкция switch
Обеспечивает выполнение одного или нескольких операторов, если значение указанного выражения совпадает с меткой.
Синтаксис
switch (expression) { case label : statementlist case label : statementlist ... default : statementlist }
Аргументы
- expression
- Обязательный аргумент. Вычисляемое выражение.
- Label
- Обязательный аргумент. Идентификатор, который сопоставляется выражению. Если метка label === выражению expression, то сразу же после знака двоеточия начинается выполнение списка операторов из аргумента statementlist, которое продолжается либо до оператора break, он необязательный, либо до конца конструкции switch.
- statementlist
- Необязательный аргумент. Один или более выполняемых операторов.
Описание
Используйте объявление default, чтобы выполнить какой-либо оператор в том случае, если ни одна из меток не совпадает с выражением. Объявление может находиться в любом месте конструкции switch.
Можно не указать ни одного или указать один или более блоков меток. Если ни одна метка не совпадает со значением выражения и объявление default отсутствует, то никакие операторы не выполняются.
Конструкция switch работает следующим образом:
- Вычисляется выражение и происходит перебор меток, пока не будет найдено совпадение.
- Если значение метки равно выражению, выполняется список операторов из аргумента statementlist. Выполнение продолжается до оператора break или до конца конструкции switch. Это означает выполнение нескольких блоков меток, если не будет использован оператор break.
- Если ни одна метка не равна выражению, то выполняется переход к объявлению default. Если его нет, то - переход к последнему шагу.
- Выполняется оператор, следующий после конструкции switch.
Примеры
В примере показано как используется конструкция switch. Определим, какой тип данных у объекта.
function MyObjectType(obj) { switch (obj.constructor) { case Date: return "Object is a Date."; break; case Number: return "Object is a Number."; break; case String: return "Object is a String."; break; default: return "Object is unknown."; } }
Поддержка
Смотрите также
Ссылки на источники
https://msdn.microsoft.com/en-us/library/hzc6t81t(v=VS.85).aspx