Читайте также:
|
|
Если бы программирование было бы всегда линейным, то, наверное, его бы и не было. Ведь практически в любой программе присутствуют различные разветвления, которые зависят от определённых внешних или внутренних факторов. Вот такие разветвления создаются с помощью условных операторов, о которых в этой статье я Вам и расскажу.
Общий вид условного оператора в JavaScript такой:
if (условие) {
//Блок операторов
}
else {
//Блок операторов
}
Сначала идёт ключевое слово if, которое сообщает браузеру, что дальше идёт условный оператор. Внутри скобок указывается условие, которое, соответственно, возвращает true или false. Если выражение в скобках было true (истинно), то выполняется первый блок операторов, если условие false (ложно), то выполняется блок операторов в else. Также блок else не является обязательным, и дальше я приведу такой пример.
Давайте теперь потренируемся уже на практике. Решим такую задачу: пользователь вводит число, а мы выводим сообщание - больше оно или меньше 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.
Последнее, что хочется сказать, что бывают условия, которые состоят из нескольких логических И и ИЛИ, и, порой, приходится очень серьёзно напрячь голову, чтобы разобраться в таком условии.
Вот и всё, что хотелось сказать по условным операторам в JavaScript. А дальше нужна лишь практика. Увы, но без практики, Вы никогда не научитесь использовать этот оператор, без знания которого двигаться дальше просто бессмысленно. Так что придумайте какую-нибудь несложную задачу (на подобии той, что мы решили выше) и решите её.
Дата добавления: 2015-10-31; просмотров: 203 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Создание функций в JavaScript | | | Циклы в JavaScript |