Поделиться через


Оператор if...else

Выполняет блок операторов в зависимости от значения выражения.

if (condition)
   statement1
[else
   statement2] 

Аргументы

  • condition
    Обязательный. Логическое выражение. Если выражение condition равно значению "null" или "undefined", то выражение condition обрабатывается как значение false.

  • statement1
    Обязательный. Оператор, который должен выполняться, если значение выражения condition равно true. Могут быть составными операторами.

  • statement2
    Необязательный. Оператор, который должен выполняться, если значение выражения condition равно false. Могут быть составными операторами.

Заметки

Рекомендуется заключать выражения statement1 и statement2 в фигурные скобки ({}) для повышения ясности кода и устранения случайных ошибок.

Пример

В следующем примере, возможно, предполагалось использовать оператор else с первым оператором if, однако он используется со вторым оператором.

var z = 3;
if (x == 5)
    if (y == 6)
        z = 17;
else
    z = 20;

Приведенный выше пример эквивалентен следующему коду.

var z = 3;
if (x == 5)
    {
    if (y == 6)
        z = 17;
    else
        z = 20;
    }

Изменение кода показанным ниже способом позволяет исключить неопределенность.

var z = 3;
if (x == 5)
    {
    if (y == 6)
        z = 17;
    }
else
    z = 20;

Аналогичным образом при добавлении оператора в выражение statement1 без использования фигурных скобок можно случайно создать ошибку.

if (x == 5)
    z = 7;
    q = 42;
else
    z = 19;

В данном случае возникает синтаксическая ошибка, поскольку между операторами if и else находится более одного оператора. Операторы, расположенные между if и else, необходимо заключить в фигурные скобки.

Требования

Версия 1

См. также

Ссылки

Условный (троичный) оператор (?:)