В этом руководстве вы узнаете об операторе if… else для создания программ принятия решений с помощью примеров.
В компьютерном программировании могут возникнуть ситуации, когда вам нужно запустить блок кода среди более чем одной альтернативы. Например, выставление оценок A , B или C на основе оценок, полученных студентом.
В таких ситуациях вы можете использовать if… else
оператор JavaScript для создания программы, которая может принимать решения.
В JavaScript есть три формы if… else
оператора.
- если заявление
- if… else заявление
- if… else if… else заявление
Оператор if в JavaScript
Синтаксис if
оператора:
if (condition) ( // the body of if )
if
Оператор оценивает состояние внутри скобок ()
.
- Если условие оценивается
true
, выполняется код внутри телаif
. - Если условие оценивается
false
, код внутри телаif
пропускается.
Примечание . Код внутри ( )
- это тело if
оператора.
Пример 1: оператор if
// check if the number is positive const number = prompt("Enter a number: "); // check if number is greater than 0 if (number> 0) ( // the body of the if statement console.log("The number is positive"); ) console.log("The if statement is easy");
Выход 1
Введите число: 2 Число положительное.
Предположим, пользователь ввел 2 . В этом случае условие number> 0
оценивается как true
. И тело if
оператора выполняется.
Выход 2
Введите число: -1 Оператор if прост
Предположим, пользователь ввел -1 . В этом случае условие number> 0
оценивается как false
. Следовательно, тело if
оператора пропускается.
Поскольку console.log("The if statement is easy");
находится вне тела if
оператора, он всегда выполняется.
В условиях используются операторы сравнения и логические операторы. Чтобы узнать больше о сравнении и логических операторах, вы можете посетить JavaScript-операторы сравнения и логические операторы.
Оператор JavaScript if… else
В if
заявлении может быть необязательное else
предложение. Синтаксис if… else
оператора:
if (condition) ( // block of code if condition is true ) else ( // block of code if condition is false )
if… else
Оператор оценивает состояние внутри скобок.
Если условие оценивается как true
,
- код внутри тела
if
выполняется - код внутри тела
else
пропускается из выполнения
Если условие оценивается как false
,
- код внутри тела
else
выполняется - код внутри тела
if
пропускается из выполнения
Пример 2: оператор if… else
// check is the number is positive or negative/zero const number = prompt("Enter a number: "); // check if number is greater than 0 if (number> 0) ( console.log("The number is positive"); ) // if number is not greater than 0 else ( console.log("The number is either a negative number or 0"); ) console.log("The if… else statement is easy");
Выход 1
Введите число: 2 Число положительное. Оператор if… else прост
Предположим, пользователь ввел 2 . В этом случае условие number> 0
оценивается как true
. Следовательно, тело if
оператора выполняется, а тело else
оператора пропускается.
Выход 2
Введите число: -1 Это либо отрицательное число, либо 0. Оператор if… else прост
Предположим, пользователь ввел -1 . В этом случае условие number> 0
оценивается как false
. Следовательно, тело else
оператора выполняется, а тело if
оператора пропускается.
JavaScript if… else if инструкция
Оператор if… else
используется для выполнения блока кода из двух альтернатив. Однако, если вам нужно сделать выбор между более чем двумя альтернативами, if… else if… else
можно использовать.
Синтаксис if… else if… else
оператора:
if (condition1) ( // code block 1 ) else if (condition2)( // code block 2 ) else ( // code block 3 )
- Если условие1 оценивается как
true
, кодовый блок 1 выполняется. - Если Condition1 имеет значение
false
, то condition2 оценивается.- Если условие 2 есть
true
, кодовый блок 2 выполняется. - Если условие 2 есть
false
, кодовый блок 3 выполняется.
- Если условие 2 есть
Пример 3: if… else if Заявление
// check if the number if positive, negative or zero const number = prompt("Enter a number: "); // check if number is greater than 0 if (number> 0) ( console.log("The number is positive"); ) // check if number is 0 else if (number == 0) ( console.log("The number is 0"); ) // if number is neither greater than 0, nor zero else ( console.log("The number is negative"); ) console.log("The if… else if… else statement is easy");
Вывод
Введите число: 0 Число равно 0 Оператор if… else if… else прост
Предположим, пользователь ввел 0 , тогда первое тестовое условие number> 0
оценивается как false
. Затем number == 0
оценивается второе тестовое условие true
и выполняется соответствующий блок.
Вложенный оператор if… else
Вы также можете использовать if… else
оператор внутри if… else
оператора. Это называется вложенным оператором if… else .
Пример 4: Вложенный оператор if… else
// check if the number is positive, negative or zero const number = prompt("Enter a number: "); if (number>= 0) ( if (number == 0) ( console.log("You entered number 0"); ) else ( console.log("You entered a positive number"); ) ) else ( console.log("You entered a negative number"); )
Вывод
Enter a number: 5 You entered a positive number
Suppose the user entered 5. In this case, the condition number>= 0
evaluates to true
, and the control of the program goes inside the outer if
statement.
Then, the test condition, number == 0
, of the inner if
statement is evaluated. Since it's false, the else
clause of the inner if
statement is executed.
Note: As you can see, nested if… else
makes our logic complicated and we should try to avoid using nested if… else
whenever possible.
Body of if… else With Only One Statement
If the body of if… else
has only one statement, we can omit ( )
in our programs. For example, you can replace
const number = 2; if (number> 0) ( console.log("The number is positive."); ) else ( console.log("The number is negative or zero."); )
with
const number = 2; if (number> 0) console.log("The number is positive."); else console.log("The number is negative or zero.");
Output
The number is positive.
More on Decision Making
В определенных ситуациях тернарный оператор может заменить if… else
оператор. Чтобы узнать больше, посетите Тернарный оператор JavaScript.
Если вам нужно сделать выбор между более чем одной альтернативой на основе заданного условия теста, switch
можно использовать оператор. Чтобы узнать больше, посетите переключатель JavaScript.