Ядро JavaScript 1.5. Справочник

       

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.

label Идентификатор, используемый при сопоставлении с expression.

statements Блок операторов, выполняемый однократно при совпадении expression с label.


Описание

Если совпадение найдено, программа выполняет ассоциированный оператор. Если несколько 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>");



Содержание раздела