English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы JavaScript

Объекты JavaScript

Функции JavaScript

JS HTML DOM

JS браузер BOM

Основы AJAX

Руководство по JavaScript

Условные предложения JavaScript

if else и else if

Инструкции условия выполняют группу команд при условии, что это true.

Во многих случаях вы хотите запускать разные блоки кода в зависимости от ввода пользователя или других факторов.

Инструкции условия являются частью логики, принятия решений или определения потока компьютерной программы.

В JavaScript у нас есть следующие инструкций условия:

  • Инструкция if

  • Если...else

  • else...if

  • Инструкция switch

Мы будем обсуждать switch-инструкцию в следующей главе.

Если в JavaScript

Эта команда выполняет код только при условии, что if указывает true. Грамматика:

if (condition) {
  //Если условие истины, выполняется блок кода
}
if (x < 0) {
   document.getElementById("result").innerHTML = "NEGATIVE";
}
Проверьте, посмотри на <›/›

Если...else в JavaScript

Если условие 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>
Проверьте, посмотри на <›/›

Оператор else...if в JavaScript

Используя 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 операторы

Вы можете использовать вложенные 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.