Js je zkratka pro if. JavaScript: if a else - podmíněné příkazy

Podmíněné výroky

Podmíněné příkazy umožňují přeskočit nebo provést jiné příkazy v závislosti na hodnotě zadaného výrazu. Tyto příkazy jsou rozhodovacími body v programu a někdy se také nazývají provozovatelé poboček.

Pokud si představíte, že program je silnice a interpret JavaScriptu je cestovatel, který po ní kráčí, pak podmíněné příkazy lze považovat za křižovatku, kde se programový kód větví na dvě nebo více cest, a na takových křižovatkách musí interpret vybrat, kterou cesta, kterou se má dát příště.

if/jinak prohlášení

Příkaz if je základní ovládací příkaz, který umožňuje interpretu JavaScriptu činit rozhodnutí nebo přesněji provádět příkazy na základě podmínek. Příkaz if má dvě podoby. První:

if (výraz) prohlášení

V tomto tvaru se nejprve vyhodnotí výraz. Pokud je získaný výsledek pravdivý, příkaz se provede. Pokud výraz vrátí hodnotu false, pak se příkaz neprovede. Například:

If (username == null) // Pokud je proměnná uživatelského jména null nebo nedefinovaná username = "Alex"; // definovat to

Všimněte si, že závorky kolem podmíněného výrazu jsou povinnou součástí syntaxe příkazu if.

Druhá forma příkazu if zavádí klauzuli else, která se provede, když je výraz vyhodnocen jako nepravda. Jeho syntaxe je:

if (výraz) příkaz1 else příkaz2

Tento formulář provede příkaz1, pokud je výraz vyhodnocen jako pravdivý, a příkaz2, pokud se výraz vyhodnotí jako nepravda. Například:

If (n == 1) console.log("1 nová zpráva přijata."); else console.log("Přijaté " + n + " nové zprávy.");

jinak prohlášení

Příkaz if/else vyhodnocuje hodnotu výrazu a v závislosti na výsledku provede jednu nebo druhou část programového kódu. Ale co když potřebujete provést jeden z mnoha fragmentů? Možným způsobem, jak toho dosáhnout, je použít příkaz else if. Formálně se nejedná o samostatný JavaScriptový operátor; Toto je pouze běžný programovací styl použití opakovaného příkazu if/else:

If (n == 1) ( // Spustit blok 1 ) else if (n == 2) ( // Spustit blok 2 ) else if (n == 3) ( // Spustit blok 3 ) else ( // Pokud ani jedno jeden z předchozích příkazů else nebyl proveden, proveďte blok 4)

Na tomto kousku není nic zvláštního. Je to jednoduše posloupnost příkazů if, kde každý příkaz if je součástí klauzule else předchozího příkazu.

příkaz switch

Příkaz if vytváří větev v toku programu a vícestavové větvení lze implementovat pomocí několika příkazů else if. To však není vždy nejlepší řešení, zvláště pokud všechny větve závisí na hodnotě stejného výrazu. V tomto případě je zbytečné přehodnocovat stejný výraz ve více příkazech if.

Příkaz switch je navržen speciálně pro takové situace. Za klíčovým slovem switch následuje výraz v závorkách a blok kódu ve složených závorkách:

přepínač (výraz) ( instrukce )

Úplná syntaxe příkazu switch je však složitější, než je zde uvedeno. Různá místa v bloku jsou označena klíčovým slovem velká a malá písmena následovaná výrazem a dvojtečkou.

Když se provede příkaz switch, vyhodnotí hodnotu výrazu a poté vyhledá označení případu, které odpovídá této hodnotě (shoda je určena pomocí operátoru identity ===). Pokud je návěští nalezeno, provede se blok kódu, počínaje prvním příkazem následujícím za návěštím případu. Pokud se nenajde označení případu s odpovídající hodnotou, spustí se provádění prvním příkazem, který následuje za výchozím nastavením speciálního označení: . Pokud návěští default: chybí, bude celý blok příkazu switch přeskočen.

Fungování příkazu switch je těžké vysvětlit slovy, vysvětlení je mnohem jasnější na příkladu. Následující příkaz switch je ekvivalentní opakovaným příkazům if/else uvedeným v předchozím příkladu:

Switch(n) ( případ 1: // Provedeno, pokud n === 1 // Provést přerušení bloku 1; // Zastavit zde případ 2: // Provedeno, pokud n === 2 // Provést přerušení bloku 2; / / Zastavit zde případ 3: // Provést, pokud n === 3 // Provést přerušení bloku 3; // Zastavit zde výchozí: // Pokud vše ostatní selže... // Provést přerušení bloku 4; // Zastavit zde )

Všimněte si klíčového slova break na konci každého bloku velkých písmen. Příkaz break způsobí přenesení řízení na konec příkazu switch a pokračování provádění následujících příkazů. Příkazy Case v příkazu switch určují pouze počáteční bod programového kódu, který se má provést, ale neurčují žádné koncové body.

Pokud neexistují žádné příkazy break, příkaz switch začne provádět blok kódu s označením case odpovídající hodnotě výrazu a bude pokračovat ve vykonávání příkazů, dokud nedosáhne konce bloku. Ve vzácných případech je to užitečné pro psaní kódu, který se přesouvá z jednoho označení případu na druhý, ale v 99 % případů byste měli pečlivě ukončit každý blok případu příkazem break. (Při použití přepínače uvnitř funkce můžete místo přerušení použít příkaz return. Oba tyto příkazy slouží k ukončení příkazu switch a zabraňují mu přejít na další označení případu.)

Níže je praktičtější příklad použití příkazu switch, který převede hodnotu na řetězec způsobem, který závisí na typu hodnoty:

Funkce convert(x) ( switch(typeof x) ( // Převod čísla na hexadecimální celý případ "číslo": return x.toString(16); // Vrácení případu řetězce v uvozovkách "string": return """ + x + """; // Jakýkoli jiný typ se převede obvyklým způsobem výchozí: return x.toString(); ) ) console.log(convert(1067)); // Výsledek "42b"

Všimněte si, že v předchozích dvou příkladech byla klíčová slova case následována čísly nebo řetězcovými literály. Takto se v praxi nejčastěji používá příkaz switch, ale standard ECMAScript umožňuje zadat libovolné výrazy za velikost písmen.

Příkaz switch nejprve vyhodnotí výraz za klíčovým slovem switch a poté výrazy typu case v pořadí, ve kterém jsou zadány, dokud není nalezena odpovídající hodnota. Skutečnost shody se určuje pomocí operátoru identity === spíše než operátoru rovnosti ==, takže výrazy se musí shodovat bez jakékoli konverze typu.

Protože ne všechny výrazy typu case jsou vyhodnoceny při každém provedení příkazu switch, měli byste se vyhnout používání výrazů typu case, které mají vedlejší účinky, jako jsou volání funkcí a přiřazení. Nejbezpečnější je omezit výrazy velkých a malých písmen na konstantní výrazy.

Jak bylo vysvětleno dříve, pokud žádný výraz typu case neodpovídá příkazu switch, příkaz switch začne provádět příkaz s označením default:. Pokud návěští default: chybí, tělo příkazu switch se úplně vynechá. Všimněte si, že v předchozích příkladech je návěští default: zahrnuto na konci těla příkazu switch za všemi návěštími case. Toto je logické a běžné místo, ale ve skutečnosti může být umístěno kdekoli v příkazu switch.

V každodenním životě je často nutné učinit nějaké rozhodnutí v závislosti na nějaké situaci. Například, když je o víkendu teplé počasí, pojedeme k moři, jinak, když bude zataženo, budeme sedět doma.

To se také v programování stává velmi často. K tomu existují dva podmíněné příkazy: if-else a switch-case. V tomto článku vám povím o operátoru if-else a v dalším článku o switch-case.

Syntaxe podmíněného příkazu if-else je následující:


Pokud je podmínka pravdivá, provede se kód z bloku if, v opačném případě, pokud je podmínka nepravdivá, provede se kód z bloku else.

Pro lepší pochopení si vezměme takový jednoduchý příklad, máme určitý obnos peněz a chceme si koupit auto, a zde okamžitě nastává tato podmínka: pokud máme dost peněz, tak si můžeme koupit toto auto, jinak nemůže.

Var peníze = 35000; // Řekněme, že máme 35 000 eur // Auto, které chceme koupit, stojí 50 000 eur. A nastává následující podmínka if(peníze > 50000)( document.write("Můžeme si koupit auto"); )else( document.write("Nedostatek peněz na koupi auta"); )

Uložíme dokument, otevřeme jej v prohlížeči a uvidíme, že se na stránce objeví následující zpráva: „Na koupi auta není dost peněz.“ Pokud bychom měli více než 50 000 eur, pak by se provedl kód z bloku if. Pokud bychom měli přesně 50 000 eur, pak bychom si také nemohli koupit auto, protože 50 000 není více než 50 000. Aby podmínka v tomto případě byla pravdivá, musíme napsat znaménko větší nebo rovno (>=) .

Komentář! Logická operace se rovná se zapisuje se dvěma rovnítkami (==). Existuje také logická operace menší nebo rovna (

pomocí složených závorek

Pokud existuje pouze jeden operátor, pak složené závorky nejsou nutné, pokud je v bloku více operátorů, pak jsou nutné složené závorky.

Výše uvedený příklad bude perfektně fungovat bez složených závorek, protože oba bloky obsahují pouze jeden příkaz.

Uvnitř můžete psát jakékoli logické operace, ať už jednoduché nebo složité. Můžete také použít operátory AND (&&) a OR (||).

Komentář! Přítomnost bloku else je volitelná.

Pokud je například a rovno b a c se rovná d, zobrazíme odpovídající zprávu, v opačném případě, pokud neexistuje žádný blok else, pak jednoduše přejdeme na další řádek.

Var a = 4, b = 4, c = 8, d = 8; if((a == b) && (c == d)) document.write("a se rovná b AND c se rovná d"); document.write("Další řádek kódu");

Příkaz If - else if - else

Po bloku if může být jeden nebo více bloků else if a na konci je blok else. To je užitečné, když potřebujete použít více než jednu podmínku.


Pro lepší pochopení si vezměme příklad z běžného života. Například máme určitý počet zásuvek. Pokud máme v místnosti pouze jednu zásuvku, tak můžeme připojit pouze jedno zařízení, pokud jsou zásuvky dvě, tak můžeme připojit dvě zařízení a pokud je jich více, pak můžeme připojit všechna zařízení z domu do elektrické sítě .

Nyní přejděme k programování.

Var zásuvka = 2; // Počet zásuvek v domě if(socket == 1)  document.write("

Můžeme připojit pouze jedno zařízení

"); else if(socket == 2)( document.write("

Můžeme připojit pouze dvě zařízení

"); document.write("

Například TV a notebook

"); )else( document.write("

Všechna zařízení z domu můžeme připojit k elektrické síti

"); }

V závislosti na hodnotě proměnné socket bude fungovat jeden nebo druhý blok kódu. Jak jste pravděpodobně již pochopili, pokud je socket roven 1, bude fungovat první blok kódu. Pokud je soket rovna 2, bude fungovat druhý blok kódu a pokud má soket jakoukoli jinou hodnotu (i záporné číslo), bude fungovat třetí blok kódu.

Zkratka pro kdyby jinak

Zkrácený zápis lze použít, když v závislosti na nějaké podmínce může proměnná získat jednu nebo druhou hodnotu.


Pokud je například hodnota proměnné a větší než hodnota proměnné b, pak do proměnné x napíšeme následující zprávu „Proměnná a je větší než proměnná b“, jinak napíšeme, že „Proměnná a je menší než proměnná b."

Var a = 50, b = 100, x; x = (a > b) ? "

Proměnná a je větší než proměnná b

" : "

Proměnná a je menší než proměnná b

"; //Výsledný výstup dokumentu.write(x);

To je vše, co jsem vám chtěl tímto článkem říci. Podmíněný příkaz if-else se v každém skriptu používá více způsoby, takže je velmi důležité jej znát a rozumět mu. V příštím článku vám povím o dalším podmíněném operátorském přepínači.

V tomto příkladu nejprve deklarujeme čtyři proměnné pomocí klíčového slova var a okamžitě jim přiřadíme číselné hodnoty. Dále pomocí operátorů inkrementace a dekrementace změníme hodnoty čísel. Informace se zobrazují pomocí funkce Echo (viz článek " "). Abych se vyhnul opětovnému psaní názvu objektu, použil jsem konstrukci with().

Logické operátory

Při kontrole podmínek se používají logické operátory, abych se neopakoval, udělám zkratku: levý operand je L.O. a pravý operand je P.O.

  • && - Logické "AND"
  • || - "NEBO"
  • ! - "NE"
  • > - L.O. více P.O.
  • >= - L.O. větší nebo rovno P.O.
  • < - Л.О. меньше П.О.
  • = 5 && a= 5 || b== 100 ) //true msg2 = "PRAVDA" ; else msg2 = "NEPRAVDA" ; Popup (msg2, 5 , title, vbInformation) ; //podmíněný příkaz js if else if (! a) //false msg3 = "TRUE" ; else msg3 = "NEPRAVDA" ; Popup (msg3, 5 , title, vbInformation) ; if (a&= 100 ) //false msg4 = "PRAVDA" ; else msg4 = "NEPRAVDA" ; Popup (msg4, 5 , title, vbInformation) ; )

    Stejně jako v předchozím skriptu jsem i zde použil konstrukci with ke zkrácení programového kódu. K zobrazení informací jsme však použili funkci Popup (viz článek ""). V důsledku toho se dialogová okna po několika sekundách automaticky zavřou. Vezměte prosím na vědomí, že v tomto příkladu jsme nepoužili složené závorky v podmíněném příkazu js if; jsou relevantní pouze tehdy, když potřebujete provést ne jeden řádek kódu, ale několik.

    Nakonec se podívejme na praktický příklad, jako je řešení kvadratické rovnice:

    // Řešení kvadratické rovnice // uravnenije_if_else.js // ********************************************* ******************************************** var a, b, c, d, x, xl, x2; //Deklarujeme proměnné a=- 2 ; b = 6; c = 20; //Hledání diskriminantu d= Math .pow (b, 2 ) - 4 * a* c; if (d== 0) ( x= b/ (2 * a) ; msg= "Rovnice má jedno řešení, x je přesně " + x ) else ( if (d> 0 ) ( x1= (- b+ Matematika . sqrt ( d) ) / (2 * a) ; x2= (- b- Matematika .sqrt (d) ) / (2 * a) ; msg= "Rovnice má dvě řešení \n x1 přesně " + x1 + "\ n x2 přesně " + x2; // podmíněný příkaz if else js ) else msg= "Žádné řešení" ; ) WScript.Echo (msg) ;

    JavaScript má podmíněnou konstrukci, která ovlivňuje provádění programu. Pokud (v angličtině if) něco existuje, něco je pravda, pak udělejte jednu věc, jinak (v angličtině else) - udělejte něco jiného.

    if prohlášení

    Okamžitě se podívejme, jak funguje příkaz if, je jednoduchý a nevyžaduje mnoho vysvětlování.

    If (podmínka) (kód pro provedení, pokud je podmínka pravdivá)

    Je to jednoduché: pokud je podmínka pravdivá, provede se kód v bloku (...).

    Var číslice = 4; if (číslice == 4) ( document.write("Hodnota proměnné digit je 4."); )

    Můžete vytvořit trochu zvláštní kód:

    Var číslice = 4; if (true) (​document.write("Podmínka je pravdivá."); )

    jinak prohlášení

    Příkaz else lze použít ve spojení s příkazem if. Překládá se jako „jinak“ a určuje alternativní kód.

    Var číslice = 4; pokud (číslice

    Věnujte pozornost odlišnému pravopisu složených závorek v tomto příkladu pro příkazy if a else. Není vůbec nutné to takto psát, obě syntaxe jsou správné.

    Po příkazu else může následovat nový příkaz if. Tím se zkontroluje několik podmínek.

    Var číslice = 4; pokud (číslice

    JavaScript nemá příkaz elseif (jedním slovem) jako PHP.

    Pokud potřebujete provést pouze jeden příkaz, pak blokování složených závorek (...) není potřeba. V našem příkladu je nemusíte psát:

    Var číslice = 4; pokud (číslice

    False v JavaScriptu

    Příkaz if (podmínka) vyhodnotí a převede podmínku (výraz) v závorkách na booleovský typ (true nebo false).

    Zopakujme si, že v JavaScriptu je lež.

    • Číslo 0 (nula).
    • Prázdný řádek "".
    • Booleovská hodnota false :)
    • Hodnota je nulová.
    • Hodnota není definována.
    • Hodnota je NaN (Not a Number).

    Všechno ostatní je pravda.

    Pár možných chyb:

    If ("false") document.write("Toto je pravda.
    "); if (false) document.write("To je pravda.

    ");

    Zde musíte rozlišit řetězec „false“ (uzavřený v uvozovkách) od booleovské hodnoty false.

    If (" ") document.write("To je pravda.
    "); else document.write("Toto je nepravda.
    ");

    Zde je třeba rozlišit řádek " " (s mezerou uvnitř) od prázdného řádku "". Mezera uvnitř řetězce způsobuje, že není prázdný, ale obsahuje znak. Pro tlumočníka nezáleží na písmenu nebo mezerě – znak je znak.

    Další podmínky v JavaScriptu
    • Konstrukce přepínače JavaScriptu.
    • Otazník operátora

    Reg.ru: domény a hosting

    Největší registrátor a poskytovatel hostingu v Rusku.

    V provozu je více než 2 miliony doménových jmen.

    Propagace, doménová pošta, obchodní řešení.

    Již si vybralo více než 700 tisíc zákazníků po celém světě.

    Bootstrap framework: rychlé adaptivní rozložení

    Videokurz krok za krokem o základech adaptivního rozvržení v rámci Bootstrap.

    Naučte se sázet jednoduše, rychle a efektivně pomocí výkonného a praktického nástroje.

    Layout na objednávku a dostat zaplaceno.

    *Najetím myší pozastavíte rolování.

    Zpět dopředu

    Funkce a podmínky if-else v JavaScriptu

    Při použití JavaScriptu je často potřeba provádět různé akce, když jsou splněny různé podmínky.

    Napsali jste například skript, který kontroluje, jaký prohlížeč návštěvník používá při návštěvě vašeho webu. Pokud se jedná o Internet Explorer, musí být načtena stránka speciálně navržená pro IE, pokud se jedná o jakýkoli jiný prohlížeč, musí být načtena jiná verze této stránky.

    Obecná syntaxe konstrukce if-else je následující:

    If (podmínka) (akce) else (akce2);

    Jako příklad zvažte následující kód:

    If (browser=="MSIE") ( alert("Používáte IE") ) else ( alert("Nepoužíváte IE") );

    Všimněte si, že jsou použita všechna malá písmena. Pokud napíšete "IF", dojde k chybě.

    Všimněte si také, že pro srovnání se používá dvojité znaménko rovná se (==).

    Pokud píšeme browser="MSIE", pak jednoduše přiřadíme hodnotu MSIE proměnná pojmenovaná prohlížeč.

    Když píšeme browser=="MSIE", pak JavaScript „pochopí“, že chceme provést srovnání a nepřiřadit hodnotu.

    Složitější podmínky -li můžete vytvořit jednoduše tak, že je přidáte například k dílu jiný již existující strukturu pokud-jinak:

    If (podmínka) (akce1) else (if (jiná podmínka) (akce2) else (akce3); );

    Například:

    If (browser=="MSIE") ( alert("Používáte IE") ) else ( if (browser=="Netscape") ( alert("Používáte Firefox") ) else ( alert("Používáte nerozpoznaný prohlížeč: )")); );

    Logické operátory AND, OR a NOT

    Pro ještě flexibilnější využití designu pokud-jinak Můžete použít takzvané logické operátory.

    A se zapisuje jako && a používá se, když je třeba otestovat pravdivost více než jedné podmínky.

    Například: Pokud jsou v lednici vejce a v lednici je slanina, pak můžeme jíst vejce a slaninu.

    Syntaxe je následující:

    If (podmínka1 && podmínka2) ( akce ) if (hodina==12 && minuta==0) ( alert("Polední!") );

    Nebo se zapisuje jako || a používá se, když chceme ověřit pravdivost alespoň jedné ze dvou nebo více podmínek. (Můžete získat || podržením klávesy Shift a klávesy \)

    Například: Pokud je v lednici mléko, nebo je v lednici voda, tak máme co pít.

    Syntaxe je následující:

    If (podmínka1 || podmínka2) ( akce ) if (hodina==11 || hodina==10) ( alert("Ještě není poledne!") );

    Ne se píše jako ! a používá se k negaci.

    Například: Pokud v lednici nejsou vejce nebo slanina, nemůžeme jíst ani vejce, ani slaninu.

    Syntaxe je:

    If (!(podmínka)) ( akce ) if (!(hodina==11)) ( alert("Není 11 hodin") );

    Funkce v JavaScriptu

    Namísto pouhého přidání Javascriptu na stránku a spouštění kódu prohlížečem, když na něj přijde, můžete skript spustit pouze v případě, že dojde k události.

    Vytvořili jste například JavaScript, jehož úkolem je změnit barvu pozadí stránky, když kliknete na určité tlačítko. V tomto případě musíte prohlížeči „sdělit“, že tento skript by se neměl spouštět jednoduše proto, že je na řadě.

    Chcete-li prohlížeči zabránit ve spuštění skriptu při jeho načítání, musíte skript napsat jako funkci.

    V tomto případě nebude kód JavaScript spuštěn, dokud jej o to speciálním způsobem „nepožádáme“.

    Podívejte se na tento příklad skriptu napsaného jako funkce:

    funkce myfunction() ( alert("Vítejte!"); )

    Kliknutím na tlačítko zobrazíte, co tento skript dělá:

    Pokud linka alert("Vítejte!"); Pokud by nebyla zapsána uvnitř funkce, byla by provedena pokaždé, když prohlížeč dosáhne tohoto řádku. Ale protože jsme to napsali do funkce, tento řádek se nespustí, dokud neklikneme na tlačítko.

    Volání funkce (tj. přístup k ní) se vyskytuje v tomto řádku:

    Jak vidíte, na formulář jsme umístili tlačítko a přidali událost onClick="myfunction()" pro tlačítko.

    V budoucích lekcích se podíváme na další typy událostí, které spouštějí funkce.

    Obecná syntaxe funkcí je následující:

    Funkce název funkce(proměnná1, proměnná2,..., proměnnáN) ( ​​ // Zde je tělo funkce, akce, které provádí)

    Složené závorky: ( a ) označují začátek a konec funkce.

    Typickou chybou při vytváření funkcí je nepozornost a ignorování důležitosti velikosti písmen. Slovo funkce musí být přesně funkce . Možnost Funkce nebo FUNKCE způsobí chybu.

    Při zadávání názvů proměnných navíc hraje roli použití velkých písmen. Pokud máte funkci s názvem mojefunkce(), pak pokus oslovit ji jako Mojefunkce(), MYFUNCTION() nebo MyFunction() způsobí chybu.

    Líbil se vám materiál a chcete mi poděkovat?
    Stačí sdílet se svými přáteli a kolegy!


    Viz také:

Publikace na dané téma