Операторы JavaScript
Управление последовательностью действий в ходе выполнения сценария осуществляется с помощью операторов. JavaScript содержит стандартный набор операторов, унаследованный от языков C++ и Java, а именно: Следующие операторы описаны в других разделах справочника:
Любое выражение JavaScript также является оператором.
Условный оператор
Условный оператор if:else позволяет проверить определенное условие и, в зависимости от его истинности, выполнить ту или иную последовательность операторов. Он имеет две формы:
if (условие) оператор1 if (условие) оператор1 else оператор2
Здесь условие - это любое выражение, значение которого может быть преобразовано к логическому типу, оператор1 и оператор2 - любые группы операторов JavaScript; если эти группы содержат более одного оператора, то они должны быть заключены в фигурные скобки {}.
Первая форма оператора означает, что если значение условия истинно, то выполняются операторы1; если оно ложно, то управление передается оператору, следующему за if.
Вторая форма оператора означает, что если значение условия истинно, то выполняются операторы1; если оно ложно, то выполняются операторы2.
Пример использования условного оператора в теле функции, возвращающей наибольшее из трех чисел:
function maxValue(x, y, z) { if (x >= y) { if (x >= z) return x; else return z; } else { if (y >= z) return y; else return z; } }
Оператор выбора
Оператор выбора 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; }
1 2 3 4
8 8 8
| |