Kontakty

Prevádzkovateľ JavaScriptu vám umožňuje nastaviť potrebné programy. JavaScript: ak a inak - návod na podmienky. Logické operácie za podmienok

Dobrý deň. V kontakte, Alexey Gulein. V poslednom článku sme sa rozoberali vytvorenie cyklov v Javascript . V tomto článku by som chcel povedať podmienečný operátor v JavaScript. Všeobecne platí, že všetky programovanie pozostáva z podmienok a vo všetkých programovacích jazykoch (javascript neprekročený) je koncepcia podmieneného operátora. Význam podmienečného operátora Je to, že ak sa stav vykonáva, potom tieto akcie sa vykonajú, ak sa to nerobí - potom vykonajte iné akcie. Všeobecná schéma podmieneného prevádzkovateľa vyzerá takto:

Ak (podmienka) (// blok prevádzkovateľov); Inak (// blok prevádzkovateľov)

Poďme okamžite napísať každý príklad: Budeme požiadať o číslo používateľa a ak je to dokonca, "Toto je párne číslo", Ak nie - "Toto je zvláštne":

Podmienený prevádzkovateľ JavaScript

Ak vytočíte tento kód, uvidíte, že všetko funguje. Teraz vám ukážem, aké dôležité syntax v JavaScript. Odstráňte znak "; Predtým a kód okamžite prestane pracovať. Preto vždy dávajte pozor. V jednom z nasledujúcich článkov poviem ako chytiť chyby v Javascript.
Jeden kondicionálny operátor môže vložiť do iného. Poďme pridať overenie, že používateľ urobil číslo "0".

Podmienený prevádzkovateľ JavaScript

Teraz vám ukážem, ako skontrolovať niekoľko podmienok. Tam je taký koncept ako logický "a" (označený symbolmi &&). Tam je tiež koncepcia logické "alebo" (označené symbolmi ||). Priorita v logike "a" vyššie, t.j. Najprv skontrolujte túto podmienku a potom skontrolujte logické "alebo".
Poďme analyzovať taký príklad: Vytvorme si náhodné číslo od 1 do 10. Je potrebné vydať frázu "požadované číslo \u003d" a číslo samotné, ak toto číslo nie je rovné 6 a viac ako 5 alebo viac 1 , ale menej ako 4:

Podmienený prevádzkovateľ JavaScript

V tomto prípade sú požadované čísla: 2,3,7,8,9,10. Ostatné čísla nie sú v súlade s podmienkou.
Chcem tiež upriamiť vašu pozornosť na operátora "! \u003d", Čo znamená "nie je rovnaké". Nakoniec, keď sa pripravujú podmienky, vždy venujte pozornosť usporiadaniu zátvoriek. Väčšina chýb je spojená s ich nesprávnym usporiadaním.

V každodennom živote je často potrebné urobiť akékoľvek rozhodnutie, v závislosti od toho, ktorý podmienka. Napríklad, ak je počasie teplé cez víkend, budeme jesť na mori, inak, ak je zamračené, potom sadnite si domov.

Pri programovaní sa to tiež nachádza veľmi často. Pre toto existujú Dvaja podmienené operátori, je to IF inde a prepínač. V tomto článku vám poviem o vyhlásení IF inde av nasledujúcom článku o prepínači.

Syntax podmieneného operátora IF inde Nasledujúci:


Ak je podmienka pravdy (TRUE), kód je vykonaný z iF bloku, inak, ak je stav false, sa vykoná kód z iného bloku.

Pre lepšie porozumenie berieme taký jednoduchý príklad, máme určité množstvo peňazí a chceme si kúpiť auto, a tu okamžite vzniká taký stav, ak máme dosť peňazí, môžeme si kúpiť toto auto, inak nemôžeme .

VAR MONEY \u003d 35000; // Predpokladajme, že máme 35 000 eur // auto, ktoré chceme kúpiť náklady 50 000 eur. A takýto stav vzniká (peniaze\u003e 50000) (dokument.write ("môžeme kúpiť auto");) inak (dokument.write ("Nie je to dosť peňazí na nákup vozidla");)

Dokument uložíme, otvoríme ho v prehliadači a zistite, že na stránke sa začala táto správa "Nie je dosť peňazí na nákup auta. Ak by sme mali viac ako 50 000 eur, spustil by som kód z IF bloku. Ak by sme boli presne 50 000 eur, mohli by sme tiež kúpiť auto, pretože 50 000 nie viac ako 50.000. Na to, aby sa podmienilo v tomto prípade, je potrebné písať znamenie už alebo rovné (\u003e \u003d).

Komentár! Logická operácia je rovnako napísaná dvoma príznakmi rovnosti (\u003d\u003d). Tam je tiež logická prevádzka menej alebo rovná (

použitie zátvoriek

Ak je prítomný len jeden operátor, by mali byť nainštalované kučeravé konzoly, ak je blok viac ako jeden operátor, potom sú potrebné kučeravé konzoly.

Vyššie uvedený príklad bude fungovať dokonale a bez zvedavých zátvoriek, pretože len jeden operátor sa nachádza v oboch blokoch.

Vnútri, ak môžete napísať ľubovoľné logické operácie, či sú jednoduché alebo zložité. Môžete použiť operátorov a (&&) a alebo (||).

Komentár! Prítomnosť iného bloku nie je povinná.

Ak je napríklad A rovná sa B, a C je D, potom zobrazuje príslušnú správu, inak, ak nie je žiadny iný blok, potom sa jednoducho idú ďalej na ďalší riadok.

Var a \u003d 4, b \u003d 4, c \u003d 8, d \u003d 8; ak ((a \u003d\u003d b) && (c \u003d\u003d d)) dokument.write ("A je rovný B a C je D"); Dokument.Write ("nasledujúci zoznam kódov");

Ak - inak, ak - inak

Po if bloke, jeden a viac, ak by bloky mohli nasledovať, a na konci už iného bloku. V prípade potreby je vhodné použiť viac ako jednu podmienku.


Pre lepšie porozumenie vezmite nejaký príklad z každodenného života. Máme napríklad určitý počet predajní. Ak máme len jednu zásuvku v miestnosti, potom môžeme pripojiť iba jedno zariadenie, ak môžu dva zásuvky pripojiť dve zariadenia a ak je viac, môžeme pripojiť k elektrickej sieti, všetky zariadenia z domova.

Teraz sa obrátime na programovanie.

VAR Socket \u003d 2; // Počet zásuviek v dome, ak (zásuvka \u003d\u003d 1) dokument.write ("

Môžeme pripojiť iba jedno zariadenie

"); Inak, ak (zásuvka \u003d\u003d 2) (dokument.write ("

Môžeme pripojiť iba dve zariadenia

"); dokument.write ("

Napríklad, TV a notebook

");) Inak (dokument.Write ("

Môžeme pripojiť všetky zariadenia z domu do elektrickej siete.

"); }

V závislosti od hodnoty premennej zásuvky bude pracovať jeden alebo iný blok kódu. Ako ste si pravdepodobne uvedomili, že ak je zásuvka 1, potom bude fungovať prvý blok kódu. Ak je zásuvka 2, potom druhý blok kódu bude fungovať a ak má zásuvka akúkoľvek inú hodnotu (aj záporné číslo), potom bude tretí blokový kód bude fungovať.

Skrátený vstup, ak iný

Skrátený záznam môže byť použitý v prípade, keď je v závislosti od stavu, premenná môže získať túto alebo túto hodnotu.


Napríklad, ak hodnota premennej A je väčšia ako hodnota premennej B, potom v premennej X budeme písať takáto správu, "variabilný A je väčší ako premenná B", inak píšeme, že "variabilná je menej ako premenná B ".

Var a \u003d 50, b \u003d 100, x; X \u003d (A\u003e B)? "

Premenná A. viac Premenná B.

" : "

Premenná A. menej Premenná B.

"; // Zobrazte výsledný výsledok dokumentu.write (X);

To je všetko o tom, čo som chcel povedať v tomto článku. Podmienené IF inde vyhlásenie sa používa ako v každom skripte, takže je veľmi dôležité vedieť a pochopiť. V nasledujúcom článku vám poviem o inom kondicionéri prepínača.

Podmienené prevádzkovatelia

Podmienečné operátori vám umožňujú preskočiť alebo vykonávať iné operátory v závislosti od hodnoty určeného výrazu. Títo operátori sú rozhodovacie body v programe, a niekedy sa tiež nazývajú operátorov "vetvenia".

Ak predložíte, že program je cesta, a interpret JavaScript je cestujúci, prechádza cez neho, potom podmienené operátori môžu byť reprezentované ako križovatka, kde programový kódový kód pobočiek dvaja alebo viac ciest, a pri takýchto križovatkách musí tlmočník vybrať ktorá cesta pokračuje.

IF / ELSE

Ak je vyhlásenie, je základným regulátorom, ktorý umožňuje interpret JavaScript vykonávať riešenia alebo presnejšie vykonávať operátorov v závislosti od podmienok. Ak má operátor dve formy. Najprv:

ak (expresný) operátor

V tomto formulári sa výrazne vypočíta výraz. Ak je výsledok pravdivý, operátor sa vykonáva. Ak výraz vráti falošnú hodnotu, operátor nie je vykonaný. Napríklad:

Ak (používateľské meno \u003d\u003d null) // Ak je premenná používateľského mena null alebo nedefinované používateľské meno \u003d "Alex"; // určiť

Upozorňujeme, že konzoly okolo podmieneného výrazu sú povinnou súčasťou syntaxe operátora.

Druhá forma operátora Ak vstupuje do iného dizajnu, ktorý sa vykonáva v prípadoch, keď výraz vráti falošnú hodnotu. Jeho syntax:

ak (výraz) operátori1 inde prevádzkovateľ2

Tento formulár vykonáva operátora1, ak výraz vráti skutočnú hodnotu a operátor2, ak výraz vráti falošnú hodnotu. Napríklad:

Ak (n \u003d\u003d 1) konzola.log ("1 nová správa"); Else console.log ("prijatý" + n + "nové správy.");

Operátor ináč.

Vyhlásenie IF / ELS vypočíta hodnotu výrazu a vykonáva jeden alebo iný fragment programového kódu v závislosti od výsledku. Ale čo ak potrebujete vykonať jeden z mnohých fragmentov? Možným spôsobom, ako to urobiť, je aplikovať inak, ak vyhlásenie. Formálne nie je nezávislý operátor Javascriptu; Toto je len spoločný programovací štýl, ktorý spočíva v uplatnení opakovaného operátora IF / iného:

Ak (n \u003d\u003d 1) (// vykonajte blok 1) inak, ak (n \u003d\u003d 2) (// beh blok 2) inak, ak (n \u003d\u003d 3) (// beh blok 3) inak (// ak ani jeden Jeden z predchádzajúcich inde nebol vykonaný, vykonajte blok 4)

V tomto fragmente nie je nič zvláštne. Toto je len postupnosť, ak je prevádzkovatelia, kde každý, ak je vyhlásenie, je súčasťou iného dizajnu predchádzajúceho operátora.

Prepínač

Ak sa vyhlásenie vytvorí pobočku v prúde vykonávania programu a multiposition, môže byť implementovaná niekoľkými inými, ak prevádzkovatelia. To však nie je vždy najlepšie riešenie, najmä ak všetky vetvy závisia od hodnoty rovnakého výrazu. V tomto prípade je odpadový re-výpočet hodnoty rovnakého výrazu v niekoľkých prípadoch.

Prevádzkovateľ prepínača je určený pre takéto situácie. Kľúčové slovo spínača by malo byť vyjadrené v zátvorkách a bloku kódu v kučeravých zátvorkách:

prepínač (výraz) (inštrukcie)

Úplná syntax prepínača je však zložitejšia, ako je tu zobrazené. Rôzne miesta v bloku sú označené v kľúčovom slove spojenieZa ktorým by mal byť symbol výrazu a hrubého čreva.

Keď sa vykoná výpis spínača, vypočíta hodnotu výrazu a potom vyhľadáva štítok prípad zodpovedajúci tejto hodnote (korešpondencia sa určuje pomocou operátora identity \u003d\u003d\u003d). Ak sa zistí štítok, kódový blok beží, počnúc prvou inštrukciou po prípade prípadu. Ak sa nenašla štítok prípadu s príslušnou hodnotou, vykonanie sa začína prvým inštrukciou po špeciálnej značke predvolené:. Ak je predvolený štítok: Chýba, jednotka výpisu spínača je plne preskočená.

Práca prevádzkovateľa prepínača je ťažké vysvetliť slovami, vyzerá oveľa jasnejšie vysvetlenie v príklade. Nasledujúci príkaz Switch je ekvivalentný opakovaniu IF / iného operátorov uvedených v predchádzajúcom príklade:

Prepínač (n) (Prípad 1: // Spustí sa, ak n \u003d\u003d\u003d 1 // Spustite blok 1 prestávku; // tu STOP CASE 2: // Vykonajte, ak n \u003d\u003d\u003d 2 // Run Block 2 Break; / / Tu štart Case 3: // Vykonané, ak n \u003d\u003d\u003d 3 // Run Block 3 Break; // STOP predvolené: // Ak všetko ostatné nehodí ... // Run Block 4 Break; //)

Venujte pozornosť kľúčovému slovu prestávka Na konci každého bloku. Prevádzkovateľ prerušenia vedie k prenosu kontroly na koniec prevádzkovateľa prepínača a pokračovať v realizácii prevádzkovateľov nasledujúcich. Prípadové návrhy vo výkaze prepínača Nastavte iba východiskový bod vykonaného programového kódu, ale nešpecifikujte žiadne koncové body.

V neprítomnosti prevádzkovateľov prestávok, prepínač začne vykonávať kódový blok s puzdrom štítku zodpovedajúcej hodnote expresie a bude pokračovať v vykonávaní operátorov, kým nedosiahne koniec bloku. V zriedkavých prípadoch je to užitočné pre napísanie programového kódu, ktorý ide z jedného prípadu na nasledujúcu značku, ale v 99% prípadov by mal byť starostlivo ukončený každý blok prestávky prípadu. (Pri použití prepínača vo vnútri funkcie namiesto prestávky môžete použiť príkazový príkaz. Obe tieto operátori sa používajú na dokončenie prevádzky operátora prepínača a zabrániť prechodu na nasledujúci značku prípadov.)

Nasleduje praktickejší príklad použitia príkazu vypínača, prevedie hodnotu na reťazec v metóde závislej od typu hodnoty:

Funkcia Convert (X) (Switch (TYTOF X) (// previesť číslo na hexadecimálny celé číslo "číslo": návrat x.Tostring (16); // Vráťte reťazec uzavretý v prípade "reťazca": návrat "" " + x + "" "; // Akýkoľvek iný typ je premenený obvyklým spôsobom, ako predvolené: návrat X.Tostring ();)) Console.log (konvertovať (1067)); // Výsledok "42b"

Upozorňujeme, že v dvoch predchádzajúcich príkladoch nasledovali čísla alebo reťazce literály nasledovali kľúčové slová. To je, ako sa výpis spínača najčastejšie používa v praxi, ale štandard ECMAScript vám umožní zadať ľubovoľné výrazy po prípadoch.

Prevádzkovateľ prepínača najprv vypočíta výraz po spínacom kľúčovomime a potom prípadové výrazy v poradí, v akom sú špecifikované, kým sa nenájde hodnota náhody. Skutočnosť zhody je určená pomocou operátora identity \u003d\u003d\u003d a nepoužívajte operátora rovnosti \u003d\u003d, preto sa výrazy musia zhodovať bez akejkoľvek konverzie typov.

Vzhľadom k tomu, že každé ďalšie vykonávanie prepínača je vypočítané nie všetky prípady výrazy, použitie prípadových výrazov, ktoré majú vedľajšie účinky, ako sú výzvy a úlohy funkcií a úlohy. Sostly všetko je obmedzené na výrazoch prípadových konštantných výrazov.

Ako už bolo vysvetlené vyššie, ak žiadny z výrazných výrazov nezodpovedá prepínač výrazu, operátor spínača spustí prevádzkovateľa s predvoleným: Tag. Ak je predvolený štítok: Chýba, telo prepínača je úplne preskočené. Upozorňujeme, že v predchádzajúcich príkladoch, predvolený štítok: zadaný na konci tela prepínača po všetkých prípadoch. Toto je logické a obvyklé miesto pre to, ale v skutočnosti môže byť umiestnený kdekoľvek v prevádzkovanom prepínači.

V tomto článku zvážte podmienené a logické prevádzkovatelia JavaScriptu.

Podmienené vyhlásenia JavaScript

Podmienené prevádzkovatelia - Jedná sa o prevádzkovateľov jazyka JavaScriptu (ECMAScript), ktorý v závislosti od určitého stavu umožňujú vykonávať jeden alebo viac špecifických pokynov.

Formy podmienených prevádzkovateľov v JavaScript:

  • podmienené, ak je operátor (s jednou vetvou);
  • podmienečný operátor, ak ... inde (s dvoma pobočkami);
  • podmienečný operátor ináč, ak ... (s niekoľkými pobočkami);
  • terner operátor (? :);
  • prepínač.

Kondicionálny operátor, ak.

Ak je syntax operátora:

Ak (stav) inštrukcie

Podmienené, ak vyhlásenie pozostáva z:

  • kľúčové slovo, ak;
  • podmienky (výrazy v zátvorkách), ktoré by mali byť pravdivé alebo nepravdivé (alebo sú uvedené na jednej z týchto hodnôt);
  • pokyny, ktoré potrebujú vykonávaťAk je podmienka pravdivá alebo je uvedená.

Napríklad:

Ak (true) počet \u003d 4;

V tomto príklade je hodnota pravdivá. To znamená, že sa bude vždy vykonať návod \u003d 4. Tento príklad je jednoducho uvedený na vysvetlenie princípu prevádzky operátora, pretože Je zbavený akéhokoľvek významu.

Napríklad zvýšime hodnotu premennej hlasov na 1, ak je (jeho typ) je číslo:

Ak (TypeOf hlasy \u003d\u003d\u003d "číslo") hlasov ++;

Ak potrebujete vykonať niekoľko pokynov, musia byť umiestnené v kučeravých zátvorkách:

Ak (TypeOf hlasy \u003d\u003d\u003d "číslo") (Hlasy ++; Console.log ("Počet hlasov:" + hlasy);)

Ak (TypeOf hlasy \u003d\u003d\u003d "číslo") (Hlasy ++;)

Ak ... inde prevádzkovateľ

Ak je ... inde prevádzkovateľ sa používa, keď je to potrebné, keď ste pravda, než je podmienka na vykonanie určitých pokynov a s ostatnými s falošnosťou.

Syntax:

Ak (stav) (jeden alebo viac pokynov (jeden alebo viac pokynov bude vykonaná, keď je stav pravdivá alebo daná pravdivej)) inde (jeden alebo viac pokynov (bude vykonaná, keď je stav nepravdivý alebo je uvedený na FALSE))

Napríklad stiahnite správu o tom, či je číslo dokonca alebo nie:

Ak (číslo% 2) (konzoly.log ("počet nepárnych!");) Inak (Console.Log ("Číslo Čo!");)

Pravidlo podmienky na pravdivé alebo nepravdivé

Ak je výraz v stave príkazu, ak nie je rovný pravdivej alebo nepravdivej, potom ho Javascript vedie k jednej z týchto hodnôt. Vykonáva túto akciu pomocou takzvaných "pravidiel Lies".

Význam tohto pravidla: akýkoľvek výraz je pravdivý, s výnimkou nasledujúcich hodnôt.:

  • fALSE (LIE);
  • "" alebo "" (prázdny reťazec);
  • NAN (ŠPECIÁLNE ČÍSŠIE ÚDAJOVÉ TYPU "NOTUMENT");
  • 0 (číslo "nula");
  • null ("prázdna" hodnota);
  • nedefinovaná ("neistá" hodnota).

Napríklad, vyberieme uvítaciu správu do konzoly prehliadača, v závislosti od ktorej hodnoty je uložená v menauserom premennej:

IFUSER) (Console.log ("HI," + NAME + "!");) Inak (Console.log ("Ahoj, hosť!");)

Ak menauserová premenná bude obsahovať prázdny reťazec, potom podľa pravidla leží, bude uvedený na hodnotu falošných. V dôsledku toho sa v konzole zobrazí správa "Ahoj, Hosť!" .

A ak napríklad premenná menauser bude obsahovať reťazec Timoru, výraz na stav bude uvedený na hodnotu TRUE. V dôsledku toho sa v konzole objaví správa "Ahoj, Timur!" .

Inak, ak je operátor ... (niekoľko podmienok)

Syntax:

Ak (podmienka1) (pokyny 1) inak, ak (podmienka2) (pokyny 2) inak, ak (podmienka3) (pokyny 3 // ...) inak, ak (podmienka n) inak (pokyny, ktoré budú vykonané, ak ani jeden z podmienok nie je rovná pravdivej alebo nie je daná tejto hodnote)

Podmienečný (ternárny) operátor (? :)

Operátor Terner - operátor JavaScriptu, ktorý je možné použiť, ak je potrebné vykonať jeden z dvoch daných výrazov v závislosti od stavu.

Syntax:

Stav? Expression1: Expression2

Sú Ternárny operátor pozostáva z troch operandov, ktoré sú oddelené symbolmi? a:. Stav Terchnaryho operátora je nastavený v prvom operande. Môže sa tiež uzavrieť v zátvorkách. Ak je podmienka pravdivá alebo bude uvedená na túto hodnotu, expresia bude vykonaná1, inak - výraz 2.

Napríklad:

(Číslo\u003e 10)? Konzoly.log ("číslo viac ako 10!"): Konzola.log ("číslo menšie alebo rovné 10");

V Javascriptovi sú povolené viacero ternárnych operátorov (? :):

Var daynumber \u003d nový dátum (). Guedada (); Deň \u003d (daynumber \u003d\u003d\u003d 0)? "Nedeľa": (DayNumber \u003d\u003d\u003d 1)? Pondelok: (DayNumber \u003d\u003d\u003d 2)? Utorok: (daynumber \u003d\u003d\u003d 3)? "Streda": (DayNumber \u003d\u003d\u003d 4)? "Štvrtok": (DayNumber \u003d\u003d\u003d 5)? "Piatok": (DayNumber \u003d\u003d\u003d 6)? Sobota: "Neznámy deň v týždni"; Konzoly.log ("dnes" + deň.ToLowercase () + ".");

Vyššie uvedený príklad, ale pomocou viacnásobného nahrávania operátora Ak ... inak:

Var daynumber \u003d nový dátum (). Guedada (); ak (daynumber \u003d\u003d\u003d 0) (deň \u003d "nedeľa";) inak, ak (daynumber \u003d\u003d\u003d 1) (deň \u003d "pondelok";) inak, ak (daynumber \u003d\u003d\u003d 2) (deň \u003d "utorok";) Inak, ak (daynumber \u003d\u003d\u003d 3) (deň \u003d "životné prostredie";) inak, ak (daynumber \u003d\u003d\u003d 4) (deň \u003d "štvrtok";) inak, ak (daynumber \u003d\u003d\u003d 5) (deň \u003d "piatok"; ) Inak, ak (daynumber \u003d\u003d\u003d 6) (deň \u003d "sobota";) inak (deň \u003d "neznámy deň v týždni";) Console.log ("Dnes" + deň.ToLowercase () + ".");

Prepínač

Vyhlásenie o prepínači je navrhnuté tak, aby vykonali jednu verziu pokynov z niekoľkých v závislosti od hodnoty výrazu. Voľba jedného alebo iného variantu je určená pomocou prísnej rovnosti výsledku expresnej hodnoty (prípad).

Spínač operátora syntaxe:

Prepínač (EXPRESY) (CASE VALUE1: // ... Pokyny, ktoré budú vykonané, ak výsledkom výpočtu výrazu je "hodnota1" prestávka; // Voliteľné inštrukcie (ak sa nepoužíva, potom nasledujúci prípad prepínača operátora príkazu) hodnota2: // ... pokyny, ktoré budú vykonané, ak výsledkom výpočtu výrazu je "hodnota2" prestávka; // voliteľné inštrukcie (ak sa nepoužíva, potom sa vykoná nasledujúci príkaz operátora prepínača)) / / ... Prípadová hodnota N: // .. Návod, ktorý sa vykoná, ak výsledok výpočtu výrazu je "hodnota" prestávka; // Voliteľné inštrukcie (ak sa nepoužíva, potom nasledujúci príkaz operátora prepínača ) Predvolené: // Pokyny, ktoré sa vykonajú, ak výsledok výrazu nie je rovná jednej z hodnôt)

Predvolená hodnota kľúčového slova je nepovinná. Používa sa, ak potrebujete zadať pokyny, ktoré je potrebné vykonať, ak výsledok výrazu nie je rovný žiadnej jedinej možnosti (prípad).

Návod na prerušenie je nepovinné. Je navrhnutý tak, aby prerušoval vykonanie prepínača operátora a preneste manuál bežiaci po ňom.

Napríklad, prinesieme správu do konzoly prehliadača na počte cukríkov:

Var countcandyboys \u003d 1, groupcandygirls \u003d 2, správa; Prepínač (CountCandyBoys + CountCandyGirls) (Prípad 1: Správa \u003d "Jedna Candy"; Break; Prípad 2: Prípad 3: Správa \u003d "Dva alebo tri cukríky"; Break; Prípad 4: Správa \u003d "Štyri cukríky"; Break; Správa \u003d "nie sama, nie dva, nie tri a nie štyri cukrovinky";) // stiahnuť správu konzolu konzoly .Log (správa);

Vo vyššie uvedenom príklade je vypočítaná expresia 3. Preto sa bude vykonávať správa \u003d "dve alebo tri cukríky" a prestávka. Návod na prerušenie preruší ďalšie vykonanie výpisu spínača a bude prenášať riadenie inštrukcie po ňom, t.j. Console.log (správa). Odoberá správu do konzoly "Dve alebo tri cukríky".

Napríklad, budeme prinesieme aktuálny deň v týždni do konzoly:

Varný deň \u003d ""; Prepínač (nový dátum (). Guedada ()) (Prípad 0: Deň \u003d "nedeľa"; Break; Prípad 1: Deň \u003d "Pondelok"; Break; Case 2: Deň \u003d "Utorok"; Break; Prípad 3: Deň \u003d "Streda"; Break; Prípad 4: Deň \u003d "Štvrtok", Break; Prípad 5: Deň \u003d "Piatok"; Break; Case 6: Deň \u003d "sobota"; Break; Predvolené: Deň \u003d "Neznámy deň v týždni" ;) Console.log ("dnes" + deň.ToLowasconcase () + ".");

Príklad, v ktorom sa inštrukcia prerušenia nepoužíva:

Var výsledok \u003d "úspech"; Prepínač (výsledok) (CASE "Úspech": Console.log ("Úspech!"); Case "Invalidcaptcha": Console.log ("Neplatný CAPPER!"); Predvolené: Console.log ("Chyba!");)

V tomto príklade je expresia operátora prepínača úspech. Následne bude inštrukcia Console.log vykonaná ("Úspech!"), Ktorá prinesie správu "Úspech!" v konzole. Ale pretože po tom neexistuje žiadna prerušenie prerušenia, bude vykonanie skriptu pokračovať v nasledujúcej verzii. Pokyny budú teda vykonané pred tými, ktorí ešte splnia prestávku alebo sa dosiahne koniec prepínača. V dôsledku tohto príkladu sa v konzole zobrazí 3 správy: "Úspech!" . "Neplatná captcha!" A "Chyba!" .

V niektorých prípadoch sa môže vyžadovať, aby sa správanie, ale nie v tomto. Vykoná sa tu chyba.

Pevná verzia príkladu:

Var výsledok \u003d "úspech"; Prepínač (výsledok) (CASE "Úspech": Console.log ("Úspech!"); Break; Case "Invalidcaptcha": Console.log ("Neplatná kapacita!"); Break; predvolené: Console.log ("Chyba!" );)

Logickí operátori

JavaScript rozlišuje nasledujúce logické operátory:

  • && - logické "a";
  • || - logické "alebo";
  • ! -Logic "nie."

Ak sa booleovské hodnoty používajú v logickom vyjadrení operandu1 && operand2, výsledok tohto výrazu bude pravdivý, ak je každý z nich pravdivý; V opačnom prípade bude hodnota tohto výrazu hodnotu falošného.

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

Ak sa v logickom vyjadrení operandu1 && operand2 nepoužívajú žiadne booleanové hodnoty, potom bude výsledok tohto výrazu operand1, ak sa dá podávať false; V opačnom prípade bude výsledok tohto výrazu operand2.

5 && 0 /// 0 1 && 5 // 5 "reťazec" && nedefinované // nedefinované "string1" && "string2" // "string2"

Ak je v logickom vyjadrení operand1 || Operand2 Použité boolovské hodnoty, výsledok tohto výrazu bude pravdivý, ak je aspoň jeden z nich pravdivý; V opačnom prípade bude hodnota tohto výrazu hodnotu falošného.

FALSE || FALSE // FALSE TRUE | FALSE // TRUE FALSE || True // pravda pravda || Pravda.

Ak je v logickom vyjadrení operand1 || Operand2 používa boolovské hodnoty, výsledkom tohto výrazu bude operand1, ak sa dá podávať pravdivej; V opačnom prípade bude výsledok tohto výrazu operand2.

5 || 0 // 5 1 || 5 // 1 "reťazec" || Undefined // "reťazec" "string1" || "String2" // "string1"

Výsledok logického výrazu! Operand1 bude pravdivá, ak je operand1 nepravdivá alebo môže byť uvedená na túto hodnotu; V opačnom prípade bude výsledkom tohto výrazu hodnotu falošného.

FALSE // TRUE! TRUE // FALSE! "ROW" // FALSE! 5 // FALSE "

JavaScript - Lekcia 7. Rozvetvenie v programe - Ak je operátor

Veľmi často existuje situácia, keď potrebujeme vykonať akúkoľvek akciu v závislosti od akéhokoľvek stavu. Máme napríklad online obchod oblečenia. Pýtame sa používateľa, koho on (muž alebo žena) a v závislosti od odpovede zobrazuje zoznam relevantných tovarov (mužského alebo ženského). Pri použití týchto programov Kondicionálny operátor, ak.. Syntax je nasledovná:

Ak B (S1)
Inak (S2)

Kde B. - Logické vyjadrenie typu a S1. a S2. - prevádzkovatelia.

Pracuje takto: Vypočíta sa hodnota výrazu. B.Ak je to pravda, potom sa operátor vykonáva S1.Ak je false, potom prevádzkovateľ beží S2.. Riadok Inak (S2) Môžete znížiť.

Myslím, že príklad bude jasnejší. Poďme mať formu, do ktorej užívateľ zadá 3 hodnotám. Píšeme skript, ktorý určí maximum zadané čísla.

Ak chcete začať, napíšte kód formulára do HTML Stránka:

Javascript, ak

Teraz na stránke script.js napíšte kód funkcie:

funkcia MaxZnach (obj) (var A \u003d 1 * obj.zn1.Value; var b \u003d 1 * obj.zn2.Value; var c \u003d 1 * obj.zn3.Value; var m \u003d a; ak (b\u003e m) m \u003d b; ak (c\u003e m) m \u003d c; obj.res.Value \u003d m;)

Takže naša funkcia trvá tri hodnoty z formulára, na maximum ( m.) Berieme hodnotu a.. Potom porovnávame: Ak je hodnota b. Viac maximum (t.j. a.) Potom sa maximálne stane b.V opačnom prípade zostane maximálne a. (Pretože expresia v zátvorkách nie je pravda). Ďalej, ako porovnávanie nasledujúcej hodnoty. c. S maximom. Odpoveď sa zobrazí v poli Výsledok ( res.).

Všeobecne platí, že takýto scenár by mohol byť napísaný pomocou metódy max Objekt Matematika.v minulosti a kód by sa zmenil na kratšie:

funkcia MaxZnach (obj) (var a \u003d 1 * obj.zn1.Value; var b \u003d 1 * obj.zn2.Value; var c \u003d 1 * obj.zn3.Value; obj.res.Value \u003d Math.max (matematika) .max (A, B), C);)

To som ja, že programovanie je stále kreatívne a jedna úloha môže byť vyriešená rôznymi spôsobmi. Úlohou programátora nájde najviac optimálnu možnosť. Ale toto je tak, lyrický ústup. Poďme sa vrátiť k kondicionálnemu operátorovi a zvážte zaujímavejší príklad. Píšeme skript, ktorý je čas, ktorý, keď si prejdete kurzorom myši na obrázku, bude sa zvýšiť vytvorením účinku aproximácie.

Ako si pamätáte v html, môžete nastaviť veľkosť vloženého obrázka. Ak sú špecifikované veľkosti väčšie alebo menej ako originál, prehliadač automaticky zruší originál na základe týchto veľkostí. Používame. Dovoľte nám, aby sme mali taký obrázok:

Šírka pôvodného 302 pixelu. Chceme, aby obraz bol 102 pixelov šírku na stránke, a keď sa vznášate kurzor, zvýšil sa až 302 pixelov. S stránkou HTML je všetko jasné:

Javascript, ak

A v našej funkcii okrem podmieneného operátora použijeme štandardnú funkciu JavaScriptu seatdimeout.ktorý spôsobuje funkciu používateľa v danom časovom intervale:

Funkcia BigPict () (Var W \u003d Document.tiGr.Swidth; ak (W tak funkcia kontroluje šírku obrazu ( šírka) A ak je menej ako 302 pixelov, potom zvyšuje túto šírku 10 pixelov. Funkcia seatdimeout. Volá našu funkciu bigplict Každá polovica sekundy, vďaka ktorej sa veľkosť obrazu zvýši, pokiaľ je podmienka w nebude false.

Ak chcete vizuálne vykonať aproximáciu, hladšie sa snažte znížiť šírku šírky a času referencie na funkciu. Hrajte s týmito číslami a nájdite najviac optimálne.

Dnes, všetci, ako domáce úlohy, pridajte náš scenár ako obrázok, keď kurzor myši vstupuje do počiatočných hodnôt (t.j. 102 pixelov). Ak to nefunguje, potom na stiahnutie



Páči sa vám článok? Zdieľaj to