Книга: Выразительный JavaScript
Условное выполнение
Условное выполнение
Выполнять инструкции по порядку – не единственная возможность. В качестве альтернативы существует условное выполнение, где мы выбираем из двух возможных путей, основываясь на булевской величине:
Условное выполнение записывается при помощи ключевого слова if
. В простом случае нам нужно, чтобы некий код был выполнен, только если выполняется некое условие. К примеру, в предыдущей программе мы можем считать квадрат, только если было введено именно число.
var theNumber = prompt("Выбери число ", "");
if (!isNaN(theNumber))
alert("Твоё число – квадратный корень из " + theNumber * theNumber);
Теперь, введя «сыр», вы не получите вывод.
Ключевое слово if
выполняет или пропускает инструкцию, в зависимости от значения булевого выражения. Это выражение записывается после if
в скобках, и за ним идёт нужная инструкция.
Функция isNaN
– стандартная функция JavaScript, которая возвращает true
, только если её аргумент – NaN
(не число). Функция Number
возвращает NaN
, если задать ей строку, которая не представляет собой допустимое число. В результате, условие звучит так: «выполнить, если только theNumber
не является не-числом».
Часто нужно написать код не только для случая, когда выражение истинно, но и для случая, когда оно ложно. Путь с вариантами – это вторая стрелочка диаграммы. Ключевое слово else
используется вместе с if
для создания двух раздельных путей выполнения.
var theNumber = Number(prompt("Выбери число", ""));
if (!isNaN(theNumber))
alert("Твоё число – квадратный корень из " + theNumber * theNumber);
else
alert("Ну ты что число-то не ввёл?");
Если вам нужно больше разных путей, можно использовать несколько пар if/else по цепочке.
var num = Number(prompt("Выбери число", "0"));
if (num < 10)
alert("Маловато");
else if (num < 100)
alert("Нормально");
else
alert("Многовато");
Программа проверяет, действительно ли num
меньше 10. Если да – выбирает эту ветку, и показывает «Маловато». Если нет, выбирает другую – на которой ещё один if
. Если следующее условие выполняется, значит номер будет между 10 и 100, и выводится «Нормально». Если нет – значит, выполняется последняя ветка.
Последовательность выполнения примерно такая:
- Выражения и инструкции
- Переменные
- Ключевые и зарезервированные слова
- Окружение
- Функции
- Функция console.log
- Возвращаемые значения
- prompt и confirm
- Управление порядком выполнения программы
- Условное выполнение
- Циклы while и do
- Отступы в коде
- Циклы for
- Выход из цикла
- Короткое обновление переменных
- Работаем с переменными при помощи switch
- Регистр имён
- Комментарии
- Итог
- Упражнения
- 8.4.5. Выполнение внешних команд
- Выполнение макросов
- Практическая работа 46. Выполнение расчетов с использованием Мастера функций
- Условное форматирование
- 9.4.2. Регистрация времени, потраченного на выполнение задания
- 15.3.2. Установка контрольных точек, пошаговое выполнение и отслеживаемые точки
- 5.4. Управление интерфейсом и выполнение команд
- Выполнение Linuxconf на удаленном компьютере
- Выполнение AMANDA
- Pacкpытиe u выполнение
- Выполнение XSLT-преобразований в Java
- Влияние ошибок на выполнение программ