Оператор if («если») получает условие, в примере выше это year != 2011. Он вычисляет его, и если результат — true, то выполняет команду.
Если нужно выполнить более одной команды — они оформляются блоком кода в фигурных скобках:
| if (year != 2011) {
|
| alert('А вот..');
|
| alert('..и неправильно!');
|
| }
|
Рекомендуется использовать фигурные скобки всегда, даже когда команда одна. Это улучшает читаемость кода.
Преобразование к логическому типу
Оператор if вычисляет и преобразует cond к логическому типу.
В логическом контексте число0, пустая строка"",nullиundefined, а такжеNaNявляютсяfalse, остальные значения —true.
Например, такое условие никогда не выполнится:
| if (0) { // 0 преобразуется к false
|
| ...
|
… А такое — выполнится всегда:
| if (1) { // 1 преобразуется к true
|
| ...
|
Вычисление условия в проверке if (year != 2011) может быть вынесено в отдельную переменную:
| var cond = (year != 2011); // true/false
|
|
|
Важность: 5
Выведется ли alert?
| if ("0") {
|
| alert('Привет');
|
Решение
[Открыть задачу в новом окне]
Неверное условие, else
Необязательный блок else («иначе») выполняется, если условие неверно:
| var year = prompt('Введите год ECMA-262 5.1', '');
|
|
|
| if (year == 2011) {
|
| alert('Да вы знаток!');
|
| } else {
|
| alert('А вот и неправильно!'); // любое значение, кроме 2011
|