В този урок ще научите за изявлението if … else за създаване на програми за вземане на решения с помощта на примери.
При компютърното програмиране може да възникнат ситуации, при които трябва да стартирате блок от код между повече от една алтернатива. Например присвояване на оценки A , B или C въз основа на оценки, получени от студент.
В такива ситуации можете да използвате if… else
израза JavaScript , за да създадете програма, която може да взема решения.
В JavaScript има три форми на if… else
изявлението.
- ако изявление
- ако … друго изявление
- if … else if … else изявление
JavaScript ако изявление
Синтаксисът на if
изявлението е:
if (condition) ( // the body of if )
Операторът if
оценява състоянието в скобите ()
.
- Ако условието е оценено
true
, се изпълнява кодът в тялото наif
. - Ако условието е оценено на
false
, кодът в тялото наif
се пропуска.
Забележка: Кодът вътре ( )
е тялото на if
изявлението.
Пример 1: ако изявление
// 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 (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: ако … друго Изявление
// 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… 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: ако … иначе ако Изявление
// 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
изявление. Това е известно като вложено, ако … друго изявление.
Пример 4: Вложено ако … друго изявление
// 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 Ternary Operator.
Ако трябва да направите избор между повече от една алтернатива въз основа на дадено условие на теста, switch
изявлението може да се използва. За да научите повече, посетете JavaScript switch.