Оператор выбора
switch выполняет ту или иную последовательность операторов в зависимости от значения определенного выражения. Он имеет вид:
switch (выражение) {
case значение:
операторы
break;
case значение:
операторы
break;
...
default:
операторы
}
Здесь
выражение — это любое выражение,
значение — это возможное значение выражения, а
операторы — любые группы операторов JavaScript.
Оператор выбора сначала вычисляет значение
выражения, а затем проверяет, нет ли этого значения в одной из меток
case значение. Если такая метка есть, то выполняются
операторы, следующие за ней; если нет, то выполняются
операторы, следующие за меткой
default (если она отсутствует, то управление передается оператору, следующему за
switch).
Необязательный оператор
break указывает, что после выполнения
операторов управление передается оператору, следующему за
switch. Если
break отсутствует, то после выполнения
операторов начинают выполняться
операторы, стоящие после следующей метки
case (управление как бы "проваливается" в следующую метку).
В следующем примере значение переменной
length преобразуется в метры в зависимости от начальной единицы измерений, заданной в переменной
str. Обратите внимание, что после
case "м" нет оператора
break; в данном случае это означает, что эта метка и метка
default обрабатываются одинаково, а именно значение переменной
length не изменяется.
var str = "см";
var length = 25;
switch (str) {
case "км":
length *= 1000;
break;
case "см":
length /= 100;
break;
case "м":
default:
break;
}