V tomto tutoriálu se dozvíte o příkazu if… else k vytvoření rozhodovacích programů pomocí příkladů.
V počítačovém programování mohou nastat situace, kdy musíte spustit blok kódu mezi více než jednou alternativou. Například přiřazení známek A , B nebo C na základě známek získaných studentem.
V takových situacích můžete pomocí příkazu JavaScript if… elsevytvořit program, který může rozhodovat.
V JavaScriptu existují tři formy if… elseprohlášení.
- pokud prohlášení
- pokud … jiné prohlášení
- if… else if… else statement
Prohlášení JavaScript, pokud
Syntaxe ifpříkazu je:
if (condition) ( // the body of if )
Příkaz ifvyhodnotí stav uvnitř závorky ().
- Pokud je podmínka vyhodnocena na
true, provede se kód uvnitř tělaif. - Pokud je podmínka vyhodnocena
false, kód uvnitř tělaifje přeskočen.
Poznámka: Kód uvnitř ( )je tělo ifpříkazu.
Fungování příkazu if
Příklad 1: Příkaz 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");
Výstup 1
Zadejte číslo: 2 Číslo je kladné Příkaz if je snadný
Předpokládejme, že uživatel zadal 2 . V tomto případě se podmínka number> 0vyhodnotí na true. A tělo ifpříkazu je provedeno.
Výstup 2
Zadejte číslo: -1 Příkaz if je snadný
Předpokládejme, že uživatel zadal -1 . V tomto případě se podmínka number> 0vyhodnotí na false. Proto je tělo ifpříkazu přeskočeno.
Vzhledem k tomu, že console.log("The if statement is easy");je mimo tělo ifpříkazu, provádí se vždy.
Porovnávací a logické operátory se používají v podmínkách. Chcete-li se tedy dozvědět více o porovnání a logických operátorech, můžete navštívit Porovnání JavaScriptu a Logické operátory.
Příkaz JavaScript, pokud … else
Příkaz ifmůže mít volitelnou elseklauzuli. Syntaxe if… elsepříkazu je:
if (condition) ( // block of code if condition is true ) else ( // block of code if condition is false )
Příkaz if… elsevyhodnotí stav uvnitř závorky.
Pokud je stav vyhodnocen na true,
- kód uvnitř těla
ifje proveden - kód uvnitř těla
elseje přeskočen z provedení
Pokud je stav vyhodnocen na false,
- kód uvnitř těla
elseje proveden - kód uvnitř těla
ifje přeskočen z provedení
Fungování příkazu if… else
Příklad 2: pokud… else Prohlášení
// 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");
Výstup 1
Zadejte číslo: 2 Číslo je kladné Příkaz if… else je snadný
Předpokládejme, že uživatel zadal 2 . V tomto případě se podmínka number> 0vyhodnotí na true. Tělo ifpříkazu je tedy provedeno a tělo elsepříkazu je přeskočeno.
Výstup 2
Zadejte číslo: -1 Číslo je záporné číslo nebo 0 Příkaz if… else je snadný
Předpokládejme, že uživatel zadal -1 . V tomto případě se podmínka number> 0vyhodnotí na false. Tělo elsepříkazu je tedy provedeno a tělo ifpříkazu je přeskočeno.
JavaScript if… else if statement
Příkaz if… elsese používá k provedení bloku kódu mezi dvěma alternativami. Pokud si však potřebujete vybrat mezi více než dvěma alternativami, if… else if… elselze použít.
Syntaxe if… else if… elsepříkazu je:
if (condition1) ( // code block 1 ) else if (condition2)( // code block 2 ) else ( // code block 3 )
- Pokud podmínka 1 vyhodnotí
true, provede se kódový blok 1 . - Pokud se podmínka 1 vyhodnotí na
false, pak se podmínka 2 vyhodnotí.- Pokud podmínka2 je
true, provede se kódový blok 2 . - Pokud podmínka2 je
false, provede se kódový blok 3 .
- Pokud podmínka2 je
Práce příkazu if… else if… else
Příklad 3: if… else if Statement
// 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");
Výstup
Zadejte číslo: 0 Číslo je 0 Příkaz if… else if… else je snadný
Předpokládejme, že uživatel zadal 0 , pak se první testovací podmínka number> 0vyhodnotí na false. Poté se number == 0vyhodnotí druhá testovací podmínka truea provede se její odpovídající blok.
Vnořeno, pokud … jiné prohlášení
Můžete také použít if… elsepříkaz uvnitř if… elsepříkazu. Toto se nazývá prohlášení vnořené, pokud… else .
Příklad 4: Vnořeno, pokud … else Prohlášení
// 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"); )
Výstup
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
V určitých situacích může ternární operátor nahradit if… elsepříkaz. Chcete-li se dozvědět více, navštivte JavaScript Ternární operátor.
Pokud potřebujete na základě dané testovací podmínky zvolit více než jednu alternativu, switchlze použít příkaz. Další informace najdete v přepínači JavaScriptu.








