Js podmienený operátor. Podmienení operátori

Zdroj pre tento interaktívny príklad je uložený v úložisku GitHub. Ak by ste chceli prispieť k projektu interaktívnych príkladov, naklonujte https://github.com/mdn/interactive-examples a pošlite nám žiadosť o stiahnutie.

Syntax

if (podmienka) vyhlásenie1 podmienka Výraz, ktorý sa považuje za pravdivý alebo nepravdivý. statement1 Príkaz, ktorý sa vykoná, ak je podmienka pravdivá. Môže to byť ľubovoľný príkaz, vrátane ďalších vnorených príkazov if. Ak chcete vykonať viac príkazov, na zoskupenie týchto príkazov použite blokový príkaz (...)). Ak chcete vykonať žiadne príkazy, použite prázdny príkaz. statement2 Príkaz, ktorý sa vykoná, ak je podmienka falošná a existuje klauzula else. Môže to byť akýkoľvek príkaz, vrátane príkazov bloku a ďalej vnorených príkazov if.

Popis

Viaceré príkazy if ... else je možné vnoriť, aby sa vytvorila klauzula else if. Všimnite si toho, že v JavaScript neexistuje žiadne iné kľúčové slovo (jedným slovom).

If (podmienka1) príkaz1 else if (podmienka2) príkaz2 else if (podmienka3) príkaz3 ... else príkazN

Ak chcete vidieť, ako to funguje, takto by to vyzeralo, keby bolo vnorenie správne odsadené:

If (podmienka1) príkaz1 else if (podmienka2) príkaz2 else if (podmienka3) ...

Ak chcete vykonať viac príkazov v rámci klauzuly, na zoskupenie týchto príkazov použite blokový príkaz ((...)). Vo všeobecnosti je osvedčené používať blokové príkazy, najmä v kóde obsahujúcom vnorené príkazy if:

If (podmienka) (vyhlásenia1) else (vyhlásenia2)

Nezamieňajte si primitívne booleovské hodnoty pravdivé a nepravdivé s pravdivosťou alebo nepravdivosťou booleovského objektu. Akákoľvek hodnota, ktorá nie je falošná, nedefinovaná, null, 0, -0, NaN alebo prázdny reťazec (""), a akýkoľvek objekt vrátane booleovského objektu, ktorého hodnota je falošná, sa považuje za pravdivú, ak sa použije ako podmienka. Napríklad:

Var b = new boolean (false); ak (b) // táto podmienka je pravdivá

Príklady

Použitie if ... else

if (cipher_char === from_char) (result = result + to_char; x ++;) else (result = result + clear_char;)

Použitie else if

Upozorňujeme, že v jazyku JavaScript neexistuje žiadna iná syntax. Môžete ho však napísať s medzerou medzi ostatnými a ak:

Ak (x> 50) ( / * urobte správnu vec * /) inak, ak (x> 5) ( / * urobte správnu vec * /) inak ( / * urobte správnu vec * /)

Priradenie v rámci podmieneného výrazu

Odporúča sa nepoužívať jednoduché priradenia v podmienenom výraze, pretože priradenie je možné zameniť za rovnosť pri pohľade na kód. Nepoužívajte napríklad nasledujúci kód:

Ak (x = y) ( / * urobte správnu vec * /)

Ak potrebujete použiť úlohu v podmienenom výraze, bežnou praxou je vložiť okolo priradenia ďalšie zátvorky. Napríklad:

Ak ((x = y)) ( / * urobte správnu vec * /)

technické údaje

Špecifikácia Postavenie Komentovať
Najnovší návrh ECMAScript (ECMA-262)
Návrh
ECMAScript 2015 (6. vydanie, ECMA-262)
Definícia výrazu „if“ v tejto špecifikácii.
Štandardné
ECMAScript 5.1 (ECMA-262)
Definícia výrazu „if“ v tejto špecifikácii.
Štandardné
3. vydanie ECMAScript (ECMA-262)
Definícia výrazu „if“ v tejto špecifikácii.
Štandardné
1. vydanie ECMAScript (ECMA-262)
Definícia výrazu „if“ v tejto špecifikácii.
Štandardné Počiatočná definícia

Kompatibilita s prehliadačom

Tabuľka kompatibility na tejto stránke je generovaná zo štruktúrovaných údajov. Ak by ste chceli prispieť k údajom, navštívte stránku https://github.com/mdn/browser-compat-data a pošlite nám žiadosť o stiahnutie.

Aktualizujte údaje o kompatibilite na GitHub

Pracovná plochaMobilnéServer
ChromeHranaFirefoxinternet ExplorerOperaSafariWebview v systéme AndroidChrome pre AndroidFirefox pre AndroidOpera pre AndroidSafari v systéme iOSInternet SamsungNode.js
keby ... inakPlná podpora prehliadača Chrome 1Úplná podpora Edge 12Plná podpora Firefoxu 1Plná podpora IE 3Opera Plná podpora ÁnoSafari Plná podpora ÁnoWebView Android Plná podpora 1Chrome Android Plná podpora 18Firefox Android Plná podpora 4Opera Android Plná podpora ÁnoSafari iOS Plná podpora ÁnoSamsung Internet Android Plná podpora 1.0nodejs Plná podpora Áno

V tomto článku sa pozrieme na podmienené a logické operátory jazyka JavaScript.

Podmienené operátory JavaScript

Podmienení operátori sú operátory JavaScript (ECMAScript), ktoré v závislosti od určitej podmienky umožňujú vykonať jednu alebo viac konkrétnych pokynov.

Podmienené formuláre operátora v JavaScripte:

  • podmienený príkaz if (s jednou vetvou);
  • podmienený operátor if ... else (s dvoma vetvami);
  • podmienené vyhlásenie else if ... (s viacerými vetvami);
  • ternárny operátor (? :);
  • prepnúť príkaz na výber.

Podmienené vyhlásenie if

Syntax príkazu if je:

If (podmienka) vyhlásenie

Príkaz if pozostáva z:

  • kľúčové slovo ak;
  • podmienka (výrazy v zátvorkách), ktorá musí byť pravdivá alebo nepravdivá (alebo je priradená jednej z týchto hodnôt);
  • pokyny, ktoré treba dodržať ak je podmienka pravdivá alebo do nej vložená.

Napríklad:

Ak (true) count = 4;

Tento príklad používa ako podmienku true. To znamená, že count = 4 bude vždy vykonaný. Tento príklad je uvedený len na objasnenie princípu činnosti operátora if, pretože nemá žiadny význam.

Zvýšme napríklad hodnotu premennej hlasy o 1, ak je (jej typom) číslo:

Ak (typ hlasov === "číslo") hlasov ++;

Ak potrebujete postupovať podľa niekoľkých pokynov, musíte ich vložiť rovnátka :

Ak (typ hlasov === "číslo") (hlasy ++; console.log ("Počet hlasov:" +hlasov);)

Ak (typ hlasov === "číslo") (hlasy ++;)

Ak ... inak vyhlásenie

Operátor if ... else sa používa vtedy, keď je potrebné vykonať niektoré pokyny, ak je podmienka pravdivá, a iné, ak je nepravdivá.

Syntax:

If (podmienka) (jeden alebo viac príkazov (bude vykonaný, keď je podmienka pravdivá alebo bude prenášaná na hodnotu true)) else (jeden alebo viac príkazov (bude vykonaný, ak je podmienka nepravdivá alebo je prenesená na nepravdivé))

Poďme si napríklad vytlačiť na konzolu správu o tom, či je číslo párne alebo nie:

Ak (číslo% 2) (console.log („Číslo je nepárne!“);) Else (console.log („Číslo je párne!“);)

Pravidlo na konverziu podmienky na pravdivú alebo nepravdivú

Ak výraz v príkaze if nie je pravdivý alebo nepravdivý, JavaScript ho prenesie na jednu z týchto hodnôt. Túto akciu vykonáva pomocou takzvaného „pravidla klamstva“.

Význam tohto pravidla: každý výraz je vyhodnotený ako pravdivý, s výnimkou nasledujúcich hodnôt:

  • false (false);
  • "" alebo "" (prázdny reťazec);
  • NaN (špeciálny číselný typ údajov „nie je číslo“);
  • 0 (číslo "nula");
  • null ("prázdna" hodnota);
  • undefined („nedefinovaná“ hodnota).

Ukážme napríklad uvítaciu správu v konzole prehliadača v závislosti od toho, aká hodnota je uložená v premennej nameUser:

If (nameUser) (console.log ("Hello," + name + "!");) Else (console.log ("Hello, guest!");)

Ak premenná nameUser obsahuje prázdny reťazec, podľa pravidla klamstva bude prenesená na hodnotu false. Preto sa v konzole zobrazí správa „Ahoj, hosť!“ ...

A ak napríklad premenná nameUser obsahuje reťazec „Timur“, výraz v podmienke bude prevedený na hodnotu true. Výsledkom bude, že konzola zobrazí správu „Ahoj, Timur!“ ...

Príkaz else if ... (viac podmienok)

Syntax:

If (podmienka1) (príkazy 1) else if (podmienka2) (výroky 2) else if (podmienka3) (príkazy 3 // ...) else if (podmienkaN) (príkazy N) else (príkazy, ktoré sa vykonajú, ak ani jeden podmienok sa nerovná skutočnosti alebo sa na túto hodnotu nevzťahuje)

Podmienený (ternárny) operátor (? :)

Ternárny operátor Je operátor JavaScript, ktorý je možné použiť vtedy, keď je v závislosti od podmienky potrebné vykonať jeden z dvoch uvedených výrazov.

Syntax:

Podmienka? výraz1: výraz2

Ternárny operátor má tri operandy, ktoré sú oddelené znakmi? a:. Podmienka ternárneho operátora je špecifikovaná v prvom operande. Môže byť tiež uzavretý v zátvorkách. Ak je podmienka pravdivá alebo bude prevedená na túto hodnotu, vykoná sa výraz1, inak - výraz 2.

Napríklad:

(číslo> 10)? console.log („Číslo je väčšie ako 10!“): console.log („Číslo je menšie alebo rovné 10“);

JavaScript umožňuje viac ternárnych operátorov (? :):

Var dayNumber = nový dátum (). GetDay (); day = (dayNumber === 0)? „Nedeľa“: (numberNumber === 1)? „Pondelok“: (číslo dňa === 2)? "Utorok": (numberNumber === 3)? "Streda": (numberNumber === 4)? "Štvrtok": (numberNumber === 5)? "Piatok": (numberNumber === 6)? „Sobota“: „Neznámy deň v týždni“; console.log ("Today" + day.toLowerCase () + ".");

Vyššie uvedený príklad, ale s použitím viacnásobného zápisu príkazu if ... else:

Var dayNumber = nový dátum (). GetDay (); if (dayNumber === 0) (day = "Sunday";) else if (dayNumber === 1) (day = "Monday";) else if (dayNumber === 2) (day = "Tuesday";) else if (dayNumber === 3) (day = "Wednesday";) else if (dayNumber === 4) (day = "Thursday";) else if (dayNumber === 5) (day = "Friday"; ) else if (dayNumber === 6) (day = "Saturday";) else (day = "Unknown day of the week";) console.log ("Today" + day.toLowerCase () + ".");

Prepínač

Príkaz switch je navrhnutý tak, aby vykonával jednu verziu niekoľkých pokynov v závislosti od hodnoty výrazu. Voľba jednej alebo druhej možnosti je určená prísnou rovnosťou výsledku výrazu s hodnotou prípadu.

Syntax príkazu switch je:

Switch (výraz) (hodnota prípadu1: // ... pokyny, ktoré sa vykonajú, ak je výsledkom vyhodnotenia výrazu zlom „hodnota1“; // voliteľný príkaz (ak sa nepoužije, nasledujúci príkaz príkazu switch bude bude vykonaný) hodnota prípadu2: // ... pokyny, ktoré sa vykonajú, ak je výsledok vyhodnotenia výrazu rovný prerušeniu „hodnota2“; // voliteľná inštrukcia (ak sa nepoužije, nasledujúci príkaz príkazu switch bude bude vykonaný) // ... hodnota prípaduN: //. budú vykonané) predvolené: // pokyny, ktoré sa vykonajú, ak výsledok výrazu nie je, nie je jednou z hodnôt)

Predvolené kľúčové slovo je voliteľné. Používa sa vtedy, keď potrebujete zadať pokyny, ktoré sa majú vykonať, ak sa výsledok výrazu nerovná žiadnej hodnote prípadu.

Vyhlásenie o prestávke je voliteľné. Je určený na prerušenie vykonávania príkazu switch a prenos inštrukcie, ktorá nasleduje po ňom, na ovládací prvok.

Ukážme napríklad v konzole prehliadača správu o počte sladkostí:

Var countCandyBoys = 1, countCandyGirls = 2, správa; prepínač (countCandyBoys + countCandyGirls) (prípad 1: správa = „Jeden cukrík“; prestávka; prípad 2: prípad 3: správa = „Dve alebo tri cukríky“; prestávka; prípad 4: správa = „Štyri cukríky“; prestávka; predvolené: message = "Ani jeden, ani dva, ani tri alebo štyri cukríky";) // vytlačte správu na konzole console.log (správa);

Vo vyššie uvedenom príklade je vyhodnotený výraz 3. Preto sa vykonajú výkazy message = „Two or three candies“ a break. Príkaz break preruší ďalšie vykonávanie príkazu switch a prenos riadenia do príkazu, ktorý nasleduje, t.j. console.log (správa). Vytlačí správu na konzolu „Dve alebo tri sladkosti“.

Poďme si napríklad vytlačiť aktuálny deň v týždni na konzolu:

Var deň = ""; prepnúť (nový dátum (). getDay ()) (prípad 0: deň = „nedeľa“; prestávka; prípad 1: deň = „pondelok“; prestávka; prípad 2: deň = „utorok“; prestávka; prípad 3: deň = „Streda“; prestávka; prípad 4: deň = „štvrtok“; prestávka; prípad 5: deň = „piatok“; prestávka; prípad 6: deň = „sobota“; prestávka; predvolené: deň = „Neznámy deň v týždni“ ;) console.log („Dnes“ + deň.toLowerCase () + „.“);

Príklad, ktorý nepoužíva príkaz break:

Výsledok varu = "úspech"; switch (result) (case "success": console.log ("Success!"); case "invalidCaptcha": console.log ("Incorrect captcha!"); default: console.log ("Error!");)

V tomto prípade je výraz pre príkaz switch úspešný. Preto sa vykoná príkaz console.log („Úspech!“), Na ktorom sa zobrazí správa „Úspech!“ ku konzole. Ale pretože po ňom nie je príkaz break, spustenie skriptu bude pokračovať v ďalšej verzii. Inštrukcie sa teda budú vykonávať, kým na ceste nenastane prestávka alebo kým sa nedosiahne koniec príkazu switch. V dôsledku vykonania tohto príkladu sa v konzole zobrazia 3 správy: „Úspech!“ , "Neplatná captcha!" a "Chyba!" ...

V niektorých prípadoch môže byť toto správanie požadované, ale nie v tomto prípade. Jednoducho tu došlo k omylu.

Opravená verzia príkladu:

Výsledok varu = "úspech"; switch (result) (case "success": console.log ("Success!"); break; case "invalidCaptcha": console.log ("Incorrect captcha!"); break; default: console.log ("Error!" );)

Logickí operátori

V jazyku JavaScript sa rozlišujú nasledujúce logické operátory:

  • && - logické „A“;
  • || - logické „ALEBO“;
  • ! -logické „NIE“.

Ak sú v booleovskom výraze operand1 && operand2 použité booleovské hodnoty, potom sa tento výraz vyhodnotí ako pravdivý, ak je každá z nich pravdivá; v opačnom prípade je hodnota tohto výrazu nepravdivá.

False && false // false true && false // false false && true // false true && true // true

Ak booleovský výraz operand1 && operand2 používa iné ako booleovské hodnoty, potom je výraz vyhodnotený ako operand1, ak je možné ho preniesť na hodnotu false; inak sa tento výraz vyhodnotí na operand2.

5 && 0 // 0 1 && 5 // 5 "reťazec" && undefined // undefined "string1" && "string2" // "string2"

Ak v logickom vyjadrení operand1 || použijú sa boolovské hodnoty operand2, potom sa tento výraz vyhodnotí ako pravdivý, ak je aspoň jedna z nich pravdivá; v opačnom prípade je hodnota tohto výrazu nepravdivá.

Falošné || false // false true || false // true false || pravda // pravda pravda || pravda

Ak v logickom vyjadrení operand1 || operand2 používa iné ako booleovské hodnoty, potom výsledkom tohto výrazu bude operand1, ak ho je možné preniesť na hodnotu true; inak sa tento výraz vyhodnotí na operand2.

5 || 0 // 5 1 || 5 // 1 "reťazec" || undefined // "string" "string1" || "riadok2" // "riadok1"

Booleovský výraz! Operand1 vyhodnotí ako pravdivý, ak operand1 je nepravdivý alebo je možné ho preniesť na túto hodnotu; v opačnom prípade bude tento výraz vyhodnotený ako nepravdivý.

False // true! True // false! "Reťazec" // false! 5 // false "

V každodennom živote je často potrebné prijať nejaké rozhodnutie v závislosti od nejakej podmienky. Napríklad, ak je cez víkend teplé počasie, pôjdeme k moru, inak, ak je zamračené, budeme sedieť doma.

To je tiež veľmi bežné v programovaní. Na to existujú dva podmienené výroky, tieto sú if-else a switch-case... V tomto článku vám poviem o vyhlásení if-else a v nasledujúcom článku o rozvodnej skrini.

Syntax podmieneného príkazu if-elseĎalšie:


Ak je podmienka pravdivá, vykoná sa kód z bloku if, v opačnom prípade, ak je podmienka falošná, vykoná sa kód z bloku else.

Pre lepšie pochopenie si vezmime taký jednoduchý príklad, máme určité množstvo peňazí a chceme si kúpiť auto, a tu okamžite vzniká takáto podmienka, ak máme dostatok peňazí, potom si môžeme kúpiť toto auto, inak môžeme nemôže.

Var peniaze = 35 000; // Povedzme, že máme 35 000 eur // Auto, ktoré si chceme kúpiť, stojí 50 000 eur. A taká podmienka nastane, ak (peniaze> 50 000) (document.write („Môžeme si kúpiť auto“);) else (document.write („Na nákup auta nie je dostatok peňazí“);)

Uložíme dokument, otvoríme ho v prehliadači a uvidíme, že na stránke „Na nákup auta nie je dostatok peňazí“ sa zobrazí nasledujúca správa. Ak by sme mali viac ako 50 000 eur, potom by sa vykonal kód z bloku if. Ak by sme mali presne 50 000 eur, potom by sme si tiež nemohli kúpiť auto, pretože 50 000 nie je viac ako 50 000. Aby bola podmienka v tomto prípade pravdivá, musíte napísať znamienko väčšie alebo rovné ( > =) ...

Komentovať! Logická operácia rovná sa je zapísaná dvoma znakmi rovnosti (==)... Existuje aj logická operácia menšia alebo rovná (

pomocou kučeravých zátvoriek

Ak existuje iba jeden operátor, potom sú zložené zátvorky voliteľné, ak je v bloku viac ako jeden operátor, potom sú potrebné zložené zátvorky.

Vyššie uvedený príklad bude fungovať dobre bez zložených zátvoriek, pretože oba bloky obsahujú iba jeden príkaz.

Do vnútra ak môžete napísať ľubovoľný logické operácie či sú jednoduché alebo zložité. Môžete tiež použiť operátory AND (&&) a OR (||).

Komentovať! Prítomnosť bloku else je voliteľná.

Ak sa napríklad a rovná b a c sa rovná d, potom zobrazíme zodpovedajúcu správu, v opačnom prípade, ak neexistuje žiadny ďalší blok, prejdeme ďalej, na nasledujúci riadok.

Var a = 4, b = 4, c = 8, d = 8; if ((a == b) && (c == d)) document.write ("a sa rovná b AND c sa rovná d"); document.write ("Ďalší riadok kódu");

Vyhlásenie if - else if - else

Po bloku if môže nasledovať jeden alebo viac blokov if, a na konci je blok else. Je to užitočné, keď potrebujete použiť viac ako jednu podmienku.


Pre lepšie pochopenie si vezmime príklad z každodenného života. Máme napríklad určitý počet zásuviek. Ak máme v miestnosti iba jednu zásuvku, potom môžeme pripojiť iba jedno zariadenie, ak existujú dve zásuvky, potom môžeme pripojiť dve zariadenia, a ak je ich viac, potom môžeme pripojiť všetky zariadenia z domu do elektrickej siete.

Teraz prejdeme k programovaniu.

Var zásuvka = 2; // Počet zásuviek v dome, ak (zásuvka == 1) document.write ("

Môžeme pripojiť iba jedno zariadenie

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

Môžeme pripojiť iba dve zariadenia

"); document.write ("

Napríklad televízor a prenosný počítač

");) else (document.write ("

Do elektrickej siete dokážeme pripojiť všetky zariadenia z domu

"); }

V závislosti od hodnoty premennej soketu sa spustí ten alebo onen blok kódu. Ako ste už pravdepodobne pochopili, ak je soket rovný 1, bude fungovať prvý blok kódu. Ak je soket 2, spustí sa druhý blok kódu a ak má soket inú hodnotu (dokonca aj záporné číslo), spustí sa tretí blok kódu.

Ak inak, skrátený zápis

Skrátený zápis je možné použiť v prípade, keď v závislosti od určitých podmienok môže premenná získať jednu alebo inú hodnotu.


Ak je napríklad hodnota premennej a väčšia ako hodnota premennej b, potom do premennej x napíšeme nasledujúcu správu „Premenná a je väčšia ako premenná b“, v opačnom prípade napíšeme, že „ Premenná a je menšia ako premenná b “.

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

Premenná a viac premenná b

" : "

Premenná a menšie premenná b

"; // Výsledný výsledok vytlačte document.write (x);

To je všetko, o čom som vám chcel v tomto článku povedať. Podmienený operátor if-else sa používa viac ako v každom skripte, preto je veľmi dôležité ho poznať a porozumieť mu. V nasledujúcom článku vám poviem ešte jedno podmienečné vyhlásenie o prepínači.

Podmienený operátor umožňuje preskočiť alebo vykonať určitý blok kódu v závislosti od výsledku vyhodnotenia zadaného výrazu - podmienky. O podmienečnom vyhlásení možno povedať, že je rozhodovacím bodom programu, niekedy sa nazýva aj vetvenie. Ak si predstavíme, že program je cesta a tlmočník PHP je cestovateľ, ktorý po ňom kráča, potom môžu byť podmienené príkazy reprezentované ako križovatky, kde sa kód programu rozvetví na dve alebo viac ciest, a na takýchto križovatkách si tlmočník musí vybrať, ktorý cesta dalej ....

Ak vyhlásenie

Príkaz if je najľahší z vetviacich sa príkazov.

Syntax príkazu if je:

Príkaz if najskôr vyhodnotí podmienený výraz uvedený v zátvorkách, výsledkom tohto výrazu je logická hodnota. Ak je výsledok pravdivý, príkaz sa vykoná. Ak výraz vráti hodnotu false, príkaz sa nevykoná. Ako podmienku je možné použiť vyjadrenie akejkoľvek zložitosti.

Ak je v tele príkazu if iba jeden príkaz, potom je možné, ale nie nevyhnutné, uzavrieť ho do zložených zátvoriek. Ak však potrebujete vykonať v tele príkazu if nie jeden príkaz, ale niekoľko, potom týchto niekoľko príkazov musíte uzavrieť do zložených zátvoriek. Všimnite si toho, že by ste nemali používať bodkočiarku za zatváracou kučeravou ortézou.

Nasledujúci kód ukazuje použitie príkazu if:

Príkazy if je možné vnoriť do iných príkazov if:

Dávajte pozor na posledný príklad: príkaz nemusí byť napísaný presne pod príkazom if, ak výpis nemá veľkú veľkosť, potom môže byť napísaný aj v jednom riadku.

Ak inak vyhlásenie

A tak sme sa dozvedeli, že príkaz if vám umožňuje vykonávať príkazy, ak je podmienka splnená. Ak je podmienka falošná, nevykonajú sa žiadne opatrenia. Je však často potrebné vykonať niektoré pokyny, ak je určitá podmienka pravdivá, a ďalšie pokyny, ak je podmienka nepravdivá. Práve pre takéto prípady sa používa vetvenie. Skladá sa z príkazu if, za ktorým nasleduje blok príkazov a kľúčové slovo else, za ktorým nasleduje ďalší blok príkazov.

Syntax príkazu if else je:

Klauzula else je voliteľná. Blok príkazov umiestnený neskôr je štandardne vykonaný, t.j. keď podmienený výraz v if vráti hodnotu false. Príkaz else nemožno použiť okrem príkazu if. Blok else by mal byť umiestnený až za príkaz if, môže byť považovaný za predvolenú akciu.

Miernou úpravou nášho predchádzajúceho príkladu môžeme vidieť, ako funguje príkaz if else, ak podmienka vráti hodnotu false:

Príkaz if else je možné vnoriť. Takéto vnorené kondicionéry sú v praxi celkom bežné. Príkaz if je vnorený, ak sa nachádza v inom bloku if alebo else. Ak kód používa niekoľko príkazov if za sebou, potom else vždy odkazuje na najbližšie, ak:

Posledné ostatné neplatí pre if ($ a), pretože nie je vo vnútornom bloku, takže najbližšie k nemu je if ($ i). Príkaz else vo vnútri bloku odkazuje na if ($ b), pretože toto if je mu najbližšie.

Inak / inak ak

Príkaz if / else vyhodnotí hodnotu podmieneného výrazu a vykoná konkrétny kus programového kódu. Ale čo keď chcete vykonať jeden z mnohých kúskov? Ak potrebujete skontrolovať niekoľko podmienok za sebou, potom elseif alebo inak, ak je na to vhodná konštrukcia (jedná sa o rovnakú konštrukciu, len je napísané inak). Formálne nie je nezávislý. PHP konštrukcia je obyčajný programovací štýl, ktorý zahŕňa opakovanie príkazov if / else. Umožňuje vám testovať ďalšie podmienky, kým sa nenájde skutočná podmienka alebo kým sa nedosiahne blok else. Inak / inak ak sa musí objaviť za príkazom if a pred príkazom else, ak existujú.

Testujú sa tu tri podmienky a v závislosti od hodnoty premennej $ username sa vykonávajú rôzne akcie.

V skutočnosti na tomto úryvku nie je nič zvláštne. Je to len sled príkazov if, kde každý príkaz if je súčasťou príkazu else predchádzajúceho if. Pre tých, ktorí sa prvýkrát stretli s touto formou zápisu a nie je mu celkom jasné, ako funguje, prepíšeme ten istý príklad, iba v ekvivalentnej syntaktickej forme, ktorá plne ukazuje vnorenie štruktúr:

V. tento príklad najskôr pomocou kľúčového slova var deklarujeme štyri premenné a ihneď im priradíme číselné hodnoty. Ďalej pomocou operátorov prírastku a úbytku zmeníme hodnoty čísel. Informácie sa zobrazujú pomocou funkcie Ozvena(pozri článok „“). Aby som znova nenapísal názov objektu, použil som konštrukciu s ().

Logickí operátori

Pri kontrole stavu sa používajú logické operátory, aby sa neopakovalo, urobím skratku: ľavý operand je L.O. a pravý operand je P.O.

  • && - Logické „A“
  • || - "ALEBO"
  • ! - "NIE"
  • > - L.O. viac P.O.
  • > = - L.O. je väčšia alebo rovná P.O.
  • < - Л.О. меньше П.О.
  • <= - Л.О. меньше или равен П.О.
  • == - L.O. rovná sa P.O.
  • ! = - L.O. nerovná sa P.O.
  • | = - L.O. rovná sebe ALEBO P.O.
  • & = - L.O. sebe rovný A P.O.
  • ^ = - EXKLUZÍVNE ALEBO

Teraz zvážte nasledujúci skript:

//***************************************** // logické operácie// logik_if_else.js //***************************************** var a = 10, b = 100, WshShell, názov, msg1, msg2, msg3, msg4, vbInformation = 64; // Vytvorte inštanciu triedy WScript.Shell WshShell = WScript.CreateObject ("WScript.Shell"); názov = „Práca s podmienečným vyhlásením IF ELSE JS“; s (WshShell) (ak (a> = 5 && a<= 100 ) //истина msg1 = "TRUE" ; else msg1 = "FALSE" ; Popup (msg1, 5 , title, vbInformation) ; if (a>= 5 || b == 100) // true msg2 = "PRAVDA"; else msg2 = "FALSE"; Popup (msg2, 5, title, vbInformation); // podmienené vyhlásenie js, ak inak if (! a) // false msg3 = "TRUE"; else msg3 = "FALSE"; Popup (msg3, 5, title, vbInformation); if (a & = 100) // false msg4 = "TRUE"; else msg4 = "FALSE"; Vyskakovacie okno (msg4, 5, title, vbInformation); )

Rovnako ako v predchádzajúcom scenári, aj tu som použil konštrukciu s na skrátenie programového kódu. Na zobrazenie informácií sme však použili funkciu Objaviť sa(pozri článok „“). V dôsledku toho sa dialógové okná automaticky zatvoria po niekoľkých sekundách. Upozorňujeme, že v tomto prípade sme nepoužili zložené zátvorky. v podmienenom príkaze js if sú relevantné iba vtedy, keď potrebujete vykonať viac ako jeden riadok kódu, ale niekoľko.

Nakoniec to zvážime praktický príklad, ako riešenie kvadratickej rovnice:

// Riešenie kvadratickej rovnice// uravnenije_if_else.js // *********************************************************** var a, b, c, d, x, x1, x2; // Deklarovanie premenných a = - 2; b = 6; c = 20; // Hľadá sa diskriminácia d = matematický .pow (b, 2) - 4 * a * c; ak (d == 0) (x = b / (2 * a); msg = „Rovnica má jedno riešenie, x je presne“+ x) else (if (d> 0) (x1 = (- b + Math .sqrt (d)) / (2 * a); x2 = (- b- Math .sqrt (d)) / (2 * a ); správa = „Rovnica má dve riešenia \ n x 1 presne“+ x1 + " \ n x2 presne "+ x2; // podmienený príkaz if else js) else msg = "Žiadne riešenie"; ) WScript.Echo (správa);