Switch
Позволяет программе вычислять выражение и попытаться сопоставить его значение с меткой case.
Реализован в |
JavaScript 1.2, NES 3.0 | ||
Версия ECMA |
ECMA-262, Edition 3 |
Синтаксис
switch (expression){
case label :
statements;
break;
case label :
statements;
break;
...
default : statements;
}
Параметры
expression |
Значение, сопоставляемое с label.
statements
Описание
Если совпадение найдено, программа выполняет ассоциированный оператор. Если несколько case совпадают с предоставленным значением, выбирается первый совпавший case, даже если все эти case не равны один другому.
Программа сначала ищет метку/label, совпадающую со значением expression/выражения, а затем выполняет ассоциированный оператор. Если ни один лэйбл не совпал, программа ищет необязательный оператор default и, если он найден, выполняет ассоциированный оператор. Если оператор default не найден, программа продолжает выполняться с оператора после конца блока switch.
Необязательный оператор , ассоциированный с каждой меткой case, гарантирует что прервёт выполнение блока switch, после того как совпадающий оператор будет выполнен, и продолжит выполнение с оператора, идущего после блока switch. Если опущен, программа продолжает выполнение с оператора, следующего после оператора switch.
Примеры
Если expression вычисляется до "Bananas", программа ищет совпадение этого значения с case "Bananas" и выполняет ассоциированный оператор. Если обнаружен , программа прерывает выполнение блока switch и выполняет оператор, идущий после switch. Если отсутствует, оператор для case
"Cherries" также будет выполнен.
switch (i) {
case "Oranges" :
document.write("Oranges are $0.59 a pound.<BR>");
break;
case "Apples" :
document.write("Apples are $0.32 a pound.<BR>");
break;
case "Bananas" :
document.write("Bananas are $0.48 a pound.<BR>");
break;
case "Cherries" :
document.write("Cherries are $3.00 a pound.<BR>");
break;
default :
document.write("Sorry, we are out of " + i + ".<BR>");
}
document.write("Is there anything else you'd like?<BR>");