
- •Решим такую задачу: пользователь вводит число, а мы выводим сообщение - больше оно или меньше 5.
- •Создадим переменную, которая будет true, если введённое число положительное, и false, если число отрицательное.
- •Сложные условия.
- •Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.
- •Анализ выбора пользователя
- •Проанализируйте приведённые ниже скрипты. Не копируя и не запуская их в браузере, ответьте на вопрос: чем отличается поведение каждого скрипта?
- •Оператор switch
JavaScript. Условный оператор
Задания
Решим такую задачу: пользователь вводит число, а мы выводим сообщение - больше оно или меньше 5.
var x = prompt("Введите число"); if (x < 5) alert ("Введённое число меньше пяти"); else alert("Введённое число больше пяти");
Разберём этот пример. Первой строкой мы вызываем функцию prompt, которая выводит окно с просьбой ввести число. Дальше пользователь вводит число, которое записывается в переменную x. А дальше идёт условие, которое я перевожу так: Если x меньше 5, то вывести сообщение: "Введённое число меньше пяти", иначе вывести сообщение "Введённое число больше пяти". Выражение x < 5 возвращает либо true ( < 5) или false (x >= 5). Также обратите внимание, что мы не используем фигурные скобки. Почему? Потому, что мы используем всего один оператор (функцию alert()). В принципе, мы можем их поставить, и ничего не поменяется, однако, здесь они будут лишними.
Однако, наша задача содержит существенную ошибку. Если пользователь введёт "5", то у нас выводится сообщение "Введённое число больше пяти", однако, это не совсем правильно. Поэтому давайте преобразуем условие таким образом:
if (x < 5) alert ("Введённое число меньше пяти"); else if (x == 5) alert ("Вы ввели пять"); else alert("Введённое число больше пяти");
Как видите, блок else в первом условии преобразился. В блоке else проверяется на равенство x и 5-ти. И если это так, то выводится соответствующее сообщение, в противном случае, выводится, что число больше пяти. То есть условие внутри условия - это совершенно нормально. Также обратите внимание, что я по-прежнему не поставил фигурные скобки, так как if-else это один оператор. А когда только один оператор наличие скобок необязательно.
Создадим переменную, которая будет true, если введённое число положительное, и false, если число отрицательное.
var x = prompt("Введите число"); var positive = true; if (x < 0) positive = false; alert (positive);
В данном примере используется классический пример, когда мы берём какую-то переменную и присваиваем ей значение по умолчанию. И если это требуется, то меняем. В данном случае, мы меняем значение по умолчанию, если число отрицательное. Однако, данный пример можно было бы написать ещё красивее:
var x = prompt("Введите число"); var positive = x < 0;
Другими словами, мы переменной positive сразу присваиваем результат сравнения x и нуля.
Сложные условия.
В примерах выше мы рассматривали лишь простые условия, однако, существуют также и другие условия, которые состоят из нескольких условий. И здесь используются две операции: && - логическое И и || - логическое ИЛИ. Давайте напишем такое условие:
if ((x <= 5) && (x >= 0)) {//блок операторов}
Данное условие (сложное условие) даст true, тогда и только тогда, когда x <= 5 И x >= 0. В противном случае, вернётся false.
Рассмотрим сложное условие с логическим ИЛИ.
if ((x <= 5) || (x == 6)) {//блок операторов}
Перевести это можно так: если x <= 5 ИЛИ x == 6, то вернуть true, иначе false.
Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.