English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Инструкции условия выполняют группу команд при условии, что это true.
Во многих случаях вы хотите запускать разные блоки кода в зависимости от ввода пользователя или других факторов.
Инструкции условия являются частью логики, принятия решений или определения потока компьютерной программы.
В JavaScript у нас есть следующие инструкций условия:
Инструкция if
Если...else
else...if
Инструкция switch
Мы будем обсуждать switch-инструкцию в следующей главе.
Эта команда выполняет код только при условии, что if указывает true. Грамматика:
if (condition) { //Если условие истины, выполняется блок кода }
if (x < 0) { document.getElementById("result").innerHTML = "NEGATIVE"; }Проверьте, посмотри на <›/›
Если условие true, выполняется один блок кода, а если false, другой блок кода. Грамматика:
if (condition) { //Если условие истины, выполняется блок кода } else { //Если условие ложно, выполняется блок кода }
var x = -4; if (x < 0) { msg = "NEGATIVE"; } else { msg = "POSITIVE"; }Проверьте, посмотри на <›/›
Если пользователь нажмет на изображение, следующий пример изменит значение属性 src изображения:
<img id="demo" onclick="changeImage()" src="avatar-female.jpg"> <script> function changeImage() { var image = document.getElementById("demo"); if (image.src.match("female")) { image.src = "avatar-male.jpg"; } else { image.src = "avatar-female.jpg"; } } </script>Проверьте, посмотри на <›/›
Используя if...else, мы можем запускать блок кода в зависимости от того, истинна или ложно условие. Но иногда у нас могут быть несколько возможных условий и результатов, и нам нужно не только два варианта. Один из способов выполнения этой операции - использование else...if оператора, который может оценивать два и более возможных результата. Грамматика:
if (condition1) { // Блок кода, который нужно выполнить, если condition1 true } else if (condition2) { // Блок кода, который нужно выполнить, если condition1 false и condition2 true } else { // Блок кода, который нужно выполнить, если condition1 и condition2 false }
// Установка текущего класса студента var grade = 88; // Проверка, является ли оценка A, B, C, D или F if (grade >= 90) { document.write("A"); } else if (grade >= 80) { document.write("B"); } else if (grade >= 70) { document.write("C"); } else if (grade >= 60) { document.write("D"); } else { document.write("F"); }Проверьте, посмотри на <›/›
Вы можете использовать вложенные if ... else операторы для повышения способности принятия решений в программах на JavaScript.
var a = 10, b = 20, c = 30; var answer; if (a > b) { if (a > c) { answer = "A — это наибольшее из трёх"; } else { answer = "C — это наибольшее из трёх"; } } else if (b > c) { answer = "B — это наибольшее из трёх"; } else { answer = "C — это наибольшее из трёх"; }Проверьте, посмотри на <›/›
Три оператора предоставляют удобный способ записи if ... else операторов.
Три оператора пишутся с помощью вопросительного знака (?), и двоеточия (:), как показано ниже:
(condition) ? expression на true : expression на false
В上面的 грамматике,conditionСначала записывается, затем ??. Первый выражение будет записано вtrue наВыполнить, второе выражение будетfalse наВыполнить.
Чтобы понять, как работает三元 оператор, рассмотрим следующий пример:
var status = (age >= 18) ? "adult" : "minor";Проверьте, посмотри на <›/›
Если возраст равен 18 годам или старше, то значение 'adult' будет назначено переменной status. В противном случае, значение 'minor' будет назначено переменной status.