Výrazy a operátory. Operátori kódu JavaScript označili zoznamom značiek

Najprv stručne o výrazoch v JavaScripte.

JavaScriptové výrazy

JavaScript obsahuje pokyny a výrazy.

Príkazy nevracajú hodnoty.

Výrazy vždy vrátiť nejaké hodnoty. Keď tlmočník vidí výraz, vyhodnotí jeho hodnotu a nahradí výraz jeho hodnotou.

Výrazy môžu byť jednoduché alebo zložené. Jednoduché výrazy nezahŕňajú iné výrazy.

Jednoduché výrazy zahŕňajú:

  1. Identifikátory: someVar (názov premennej);
  2. Literály: „string“ alebo 675 (číselné alebo číselné literály);
  3. Niektoré kľúčové slová ako tento;

Keď syntaktický analyzátor zistí identifikátor, musí najskôr vypočítať jeho hodnotu, to znamená napríklad nahradiť názov premennej jeho hodnotou.

Doslovná hodnota bude taká, ako je napísaná v kóde skriptu.

Operátory JavaScriptu a zložité výrazy

Operátory sa používajú na spojenie niekoľkých jednoduchých výrazov do jedného zložitého výrazu.

Prevádzkovatelia sú:

  • Unárnik (jeden operand).
  • Binárne (dva operandy).
  • Ternárny operátor? v JavaScripte (tri operandy, existuje iba jeden ternárny operátor).

Operand je jednoduchý výraz, na ktorý sa operátor vzťahuje.

Napríklad operátor aritmetického sčítania „+“ je binárny operátor. Pridá ľavý a pravý operand a vráti súčet.

Var číslica = 4 + 7;

Mimochodom, priradenie sa vykonáva pomocou operátora priradenia „=“. Tento operátor vyhodnotí hodnotu pravého operandu a priradí ju ľavému operandu.

JavaScript má unárne plus, má iba jeden operand. Unárne plus nie je aritmetický operátor, prevádza operand na číslo.

Var myVar = "7"; document.write (typeof (myVar) + "
"); // Vytlačí sa v reťazci dokumentu myVar = + myVar; document.write (typeof (myVar) +"
"); // Vytlačí číslo v dokumente

Premenná myVar spočiatku obsahovala reťazec „7“, ktorý je reťazcovým literálom, nie číselným. Reťazcový literál sme previedli na číselný pomocou operátora unárne plus.

Aritmetické operácie

Aritmetické operácie sú známe matematické operácie.

Možno je potrebné objasniť operátora% (modulo). 9 je deliteľné 5 so zvyškom 4, to je zvyšok, ktorý tento operátor vráti. Tiež sa nazýva modulo. Pri použití celých čísel bude výsledkom tohto operátora tiež celé číslo. Pri práci s číslami s pohyblivou rádovou čiarkou je výsledkom číslo s pohyblivou rádovou čiarkou.

5.5 % 2.2 = 1.1

Pri vykonávaní aritmetických operácií nezabudnite, že ak sa vykonávajú nesprávne, môžu viesť k nasledujúcim výsledkom:

  • NaN (nie číslo) nie je číslo.
  • Nekonečno je nekonečno.

To vedie k deleniu nulou:

Var myVar = 0/0; document.write ("Variabilná hodnota:" + myVar + ", jej typ:" + typeof (myVar) + "
");

Porovnávacie operácie

Na porovnávanie výrazov sa používajú operátory porovnania. Výraz s podmieneným operátorom vráti boolovskú hodnotu - true alebo false (true / false).

Porovnávacie operácie je možné vykonávať aj pomocou reťazcov, o čom sa bude diskutovať v ďalšej lekcii. Jedinou podmienkou správneho výsledku je zhoda údajov rovnakého typu. V opačnom prípade sa JavaScript pokúsi preložiť údaje z jedného typu do druhého, čo nie je vždy úspešné. Ak sa chcete vyhnúť chybám, porovnajte údaje iba jedného typu.

Priraďovacie operácie

Najzrejmejším príkladom operácie priradenia je jednoduché priradenie (=). Tento operátor (=) sa používa na priradenie hodnoty premennej.

Existuje však aj niekoľko operácií priradenia, ktoré sú skratkami.

Logické operácie

Logické operácie sa často používajú s konštrukciou if else v JS. Ich prácu bude demonštrovať práve na príkladoch tohto dizajnu. Najskôr však zoznam logických operátorov.

Teraz pre jednoduché príklady:

If (true && true) document.write ("Funguje to!
"); if (true || false) document.write (" Funguje to!
"); if (! false) document.write (" Funguje to! "
");

Pozrime sa na tieto príklady:

Logický operátor AND (&&) vráti hodnotu true, ak sú oba operandy pravdivé.

Logický operátor OR (||) vráti hodnotu true, ak je splnený aspoň jeden operand.

Logický operátor NOT (!) Vezme jeden operand a obráti jeho skutočnú / nepravú hodnotu.

Unárne operátory

Unárne operátory sú operátory s jedným operandom. Tu sú niektorí z týchto operátorov:

  • ++ - zvýšenie o 1 (prírastok). Môže to byť predpona a postfix, viac o tom nižšie.
  • pokles o 1 (pokles). Môže to byť predpona a postfix, viac o tom nižšie.
  • + je unárne plus.
  • - - unárne mínus.

Unárne mínus

Unárne mínus obráti znamenie výrazu. Napríklad, keď v programe napíšete -100, jednoducho použijete unárne mínus na číselný literál 100.

Musíte presne pochopiť, ako funguje unárne mínus - vráti hodnotu operandu s opačným znamienkom. Tu je príklad toho, ako správne použiť unárne mínus:

Var myVar = -100; document.write (-myVar + "- unárne mínus fungovalo, ale premenná tiež =" + myVar + ".
"); myVar = -myVar; document.write (" Teraz premenná = "+ myVar +".
");

Tu je nezmyselný príklad dvojitého unárneho mínusu. Myslím, že to bude užitočné na vzdelávacie účely:

Var myVar = -100; document.write (- myVar + "je prírastok, nie dvojité unárne mínus.
"); document.write (" Teraz premenná = "+ myVar +".
"); document.write (- (- myVar) +" a toto je dvojité použitie unárneho mínusu.
");

Unárny plus

Unárne plus nerobí žiadnu matematiku. Vrhá literál na numerický typ.

Var myVar = "78687"; document.write (typeof (myVar) + ".
"); myVar = + myVar; document.write (typeof (myVar) +".
");

Prírastok a úbytok

V programovaní je často potrebné zvýšiť alebo znížiť hodnotu premennej o jednu. Existujú unárne operátory:

  • ++ - zvýšenie o 1 (prírastok).
  • pokles o 1 (pokles).

Na rozdiel od unárnych plus a mínus, prírastok a dekrement mení hodnotu premennej, keď je volaná.

Var myVar = 10; document.write (++ myVar + ".
"); document.write (myVar +".
");

Zníženie (-) funguje rovnako.

Teraz sa pozrime na použitie prefixov a postfixov týchto operátorov.

  • ++ myVar je prírastok predpona 1.
  • myVar ++ - prírastok postfixu o 1.

Rozdiel je v tomto:

  • Predpona týchto operátorov najskôr vyhodnotí hodnotu unárneho operátora a potom použije výsledok vo výraze.
  • Použitie Postfixu najskôr vyhodnotí výraz a potom vykoná unárny operátor (++ alebo -).

Na to vám pomôže jednoduchý príklad:

Var myVar = 10; document.write ((++ myVar + 5) + ".

"); var myVar = 10; document.write ((myVar ++ + 5) +".
"); document.write (" Premenná = "+ myVar +".
");

Prírastok a pokles je možné použiť iba s premennými, nemožno ich použiť na číselné literály. Jednoducho povedané, kód ++ 7 spôsobí chybu v skripte.

Ostatní operátori

V JavaScripte sú ďalší operátori:

  • Ternárny (s tromi operandami) operátor

var a = 10; var b = (a> 1)? 100: 200; varovanie (b);

Ak je stav a> 1 je pravda, potom premenná b priradiť hodnotu 100 , inak je premennej b priradená hodnota 200 .

Js úloha 3_4. Dokončenie kódu: 3 miestne premenné sú deklarované pomocou kľúčového slova var. K premennej max je potrebné priradiť hodnotu nasledujúceho ternárneho operátora: ak je a väčšie ako b, potom vrátime a, inak vrátime b.
Útržok kódu:

ak (a * b< 6) { result = "Мало"; } else { result = "Много"; }


Otázky pre sebaovládanie:

  1. Aká je syntax ternárneho operátora?
  2. Koľko argumentov má ternárny operátor?

Operátor v jazyku JavaScript - prepínač

Príkaz prepínača javascript sa používa na testovanie premennej pre viac hodnôt:

Syntax:

prepínač (premenná alebo výraz) (možnosť voľby 1: // .. blok príkazov .. možnosť prerušenia možnosti 2: // .. blok príkazov .. koniec predvolenia: // .. blok príkazov ..)

Hodnota premennej alebo výrazu sa kontroluje: v každej prípade kontroluje sa jedna z hodnôt, v prípade vhodnej hodnoty jeden alebo druhý blok príkazov, ktorý tomu zodpovedá prípade.

Blok začínajúci sa štandardným servisným slovom možno vynechať. Blokové príkazy sa vykonajú, ak neexistuje žiadna z uvedených hodnôt prípade nesedí.

Dôležité: Príkaz break je povinný za každou uvažovanou hodnotou premennej (za každou prípade); ak ho nepoužívate, zobrazia sa všetky nižšie uvedené operátory

Porovnajte s operátorom AK:

var a = 2; switch (a) (case 0: // if (a === 0) case 1: // if (a === 0) alert ("Zero or one"); // then output ... break; case 2: // if (a === 2) alert ("Two"); // then display ... break; default: // else alert ("Many"); // inak display ...)

Ako zoskupím viac možností?

Na vykonanie rovnakých operátorov je možné zoskupiť niekoľko prípade... Rovnako ako v príklade vyššie:

Prípad 0: prípad 1: výstraha („Nula alebo jedna“); prestávka; ...

Pre a = 0 a a = 1 sa vykoná rovnaký príkaz: alert ("Nula alebo jedna");

Príklad 4: Vyzvite používateľa, aby zadal farbu. Výstup anglického prekladu zadanej farby. Pre farbu "Modrá" a "Modrá" vrátiť rovnakú hodnotu.


✍ Riešenie:
  • Vytvorte webovú stránku s html kostrou a značkou scenár.
  • Inicializujte premennú farba
  • var color = prompt ("Aká farba?");

    var color = prompt ("Aká farba?");

  • Skontrolujte hodnotu premennej pomocou konštruktu šup, výstup pre každú hodnotu - zodpovedajúci preklad:
  • switch (color) (case "red": alert ("red"); break; case "green": alert ("green"); break; // ...

    Ak premenná farba má hodnotu „červená“, potom zobrazí preklad v modálnom okne - „červená“ a ukončí konštrukciu (break;). Ak premenná farba má hodnotu „zelená“, potom zobrazí preklad v modálnom okne - „zelená“ a ukončí stavbu (break;).

  • Na kvety "Modrá" a "Modrá" zoskupiť:
  • // ... case "blue": case "blue": alert ("blue"); prestávka; // ...

    Ak premenná farba je modrá alebo variabilná farba má hodnotu „modrý“, potom zobrazí preklad v modálnom okne - „modrý“ a ukončí konštrukciu (break;).

  • Usporiadajte výstup pre tie farby, ktoré program neposkytuje:
  • // ... predvolené: upozornenie ( „o tejto farbe nemáme žiadne informácie“)) // koncový prepínač

    // ... default: alert ("o tejto farbe nemáme žiadne informácie")) // koncový prepínač

  • Skript otestujte v prehliadači.

Js úloha 3_6. Vyhľadajte a opravte chyby v nasledujúcom útržku kódu:

14 15 16 17 var number = výzva ( „Zadajte číslo 1 alebo 2:“); switch (number) (case "1" (document.write ("One");); break; case "2" (document.write ("Two");); break; default (document.write ( „Zadali ste inú hodnotu ako 1 a 2“) ; } ; }

var number = prompt ("Zadajte číslo 1 alebo 2:"); switch (number) (case "1" (document.write ("One");); break; case "2" (document.write ("Two");); break; default (document.write ("You entered) hodnota iná ako 1 a 2 "););)


Js úloha 3_7.Čo sa zobrazí na obrazovke po vykonaní nasledujúceho kódu?:

1 2 3 4 5 6 7 8 9 10 11 12 13 var hodnota = "2"; switch (value) (case "1": case "2": case "3": document.write ("Hello"); break; case "4": case "5": document.write ("World"); predvolené: document.write ("chyba");)

var hodnota = "2"; switch (value) (case "1": case "2": case "3": document.write ("Hello"); break; case "4": case "5": document.write ("World"); predvolené: document.write ("chyba");)


Js úloha 3_8. Používateľ bude vyzvaný k zadaniu čísla - počtu vrán na pobočke. V závislosti od zadaného čísla (nie viac ako 10) zobrazte správu: - Sediaci na pobočke 1 vrana- Sedí na konári 4 vrany- Sedí na konári 10 vrán

  1. V závislosti od zadaného čísla sa mení koniec slova „Vrana“.
  2. Na kontrolu použite operátor Prepnúť javascript.
  3. Uložte túto stránku do priečinka s výsledkami (bude to užitočné pre ďalšiu prácu).


Otázky pre sebaovládanie:

  1. Kedy je vhodné použiť konštrukciu ako podmieneného operátora prepínač?
  2. Na čo slúži predvolený blok vo výpise? prepínač?
  3. Je v konštrukcii povinné použiť príkaz break prepínač?
  4. Ako sa zoskupovanie vykonáva pre viaceré možnosti hodnoty v operátore prepínač?

Cyklické operátory jazyka javaScript - pre

Syntax:

pre (počiatočná hodnota počítadla; podmienka; prírastok počítadla) (//..blok príkazov ..)

Dôležité: Smyčka v javascript pre sa používa, ak je vopred známe, koľkokrát by sa mali opakovať cyklické akcie (koľko iterácií má slučka)

  • Ako počiatočná hodnota počítadla iterácií sa použije výraz priradenia: napríklad i = 0 - počítadlo slučky začína od nuly:
  • pre (var i = 0; podmienka; prírastok počítadla) (//..blok príkazov ..)

  • Ako prírastok počítadla je označený krok, s ktorým by sa počítadlo malo zvýšiť: napríklad označuje, že každú iteráciu cyklu bude sprevádzať jeho zvýšenie o 1 :
  • pre (var i = 0; podmienka; i ++) (//..blok príkazov ..)

  • Podmienkou slučky je konečná hodnota počítadla: napríklad i10 zastaví slučku:
  • pre (var i = 0; i<10; i++) { //..блок операторов.. }

Pozrime sa na príklad použitia for cyklu v javascript:

Príklad 5: Vytlačte postupnosť čísel 0 1 2 3 ... 9 , každá číslica na novom riadku. 0 1 2 ... 8 9


✍ Riešenie:
  • Na zobrazenie postupnosti čísel použijeme počítadlo slučky for, od ktorého by sa mala zmeniť jeho hodnota 0 predtým 9 podľa postupnosti.
  • Preto, pre počiatočná hodnota počítadla cyklov nastavte hodnotu na 0 ; ako podmienky cyklu nastavte konečnú hodnotu - ii = 9; počítadlo krokov sa musí rovnať 1 (i ++), pretože rozdiel medzi členmi postupnosti je jeden:
  • pre (var i = 0; i<10; i++) { document.write(i+"
    "); }

    V príklade sú hodnoty počítadla slučiek zobrazené na obrazovke, pretože na obrazovke sa zobrazí prírastok počítadla i ++. 0 1 2 3 ... 9 , pričom každá číslica je v novom riadku (značka
    ).

  • Skript otestujte v prehliadači.

Js úloha 3_9. 1 predtým 15 .

  1. Počítadlo slučiek použite ako postupnosť čísel pre.
  2. Pre premennú sčítačka použite identifikátor premennej súčet.

Útržok kódu:

Pre (var i = ...; ...; ...) (sum = suma + ...;) ...

Príkazy na ukončenie slučky prestávka a ďalej v jazyku JavaScript. Prevádzkovateľ Východ

Príkaz break preruší vykonanie celého tela slučky, t.j. sa vymaní zo slučky v jazyku JavaScript.

Príkaz continue preruší vykonávanie aktuálnej iterácie slučky, ale zároveň pokračuje vo vykonávaní slučky od nasledujúcej iterácie.

Zvážme fungovanie príkazov break a continue na príklade:

Príklad: Analyzujte algoritmus útržku kódu. Čo sa zobrazí?

Útržok kódu:

1 2 3 4 5 6 pre (var i = 0; i< 10 ; i++ ) { if (i== 4 ) continue ; document.write (i+ "
"); if (i == 8) break;)

pre (var i = 0; i<10;i++) { if (i==4) continue; document.write(i+"
"); if (i == 8) break;)


✍ Riešenie:
  • Tretí riadok príkladu obsahuje podmienku, kvôli ktorej je číslica 4 sa nezobrazí: operátor ďalej prejde na ďalšiu iteráciu cyklu bez dokončenia aktuálnej.
  • V riadku č. 5 sa opustí slučka, ale súčasne aj číslo 8 sa zobrazí, pretože výstupný príkaz je pred podmienkou (v 4. riadku). Po stretnutí prestávka, tlmočník cyklus ukončí.
  • To. na obrazovke sa zobrazí: 0 1 2 3 5 6 7 8 - každá číslica v novom riadku.

Js úloha 3_10. Výstup súčtu všetkých celých čísel z 1 predtým 15 , okrem celkového počtu 5 a 7 .

Výstupné vyhlásenie

Jazyk javasctipt poskytuje operátor ukončenia z kódu programu - operátor ukončenia.
Najčastejšie sa operátor používa na elimináciu chyby vstupu používateľa.


Uvažujme príklad:

Príklad 6: Vyzvite používateľa, aby zadal číslo. Ak nie je zadané číslo, zobrazte správu „Potrebuješ číslo!“ a zastav program.


✍ Riešenie:
  • Inicializujte premennú číslo hodnota zadaná používateľom do modálu:
  • var number = prompt ("Zadajte číslo");

  • Pomocou funkcie parseInt na prevod reťazca na celé číslo skontrolujte, či je zadaná hodnota číslo:
  • number = parseInt (number); // vráti NaN - nie číslo

    Pokiaľ nie je zadané číslo, funkcia vráti hodnotu NaN (z angličtiny. nie číslo- nie číslo).

  • Skontrolujte hodnotu premennej číslo pomocou funkcie isNaN:
  • x = jeNaN (číslo); // vráti true, ak hodnota nie je číselná

    Funkcia IsNaN vracia hodnotu pravda v prípade, že premenná nie je číslo

  • Autor: pravidlo „klamstva“ zabezpečiť kontrolu hodnoty premennej X... Ak hodnota nie je číselná, vytlačte zodpovedajúcu poznámku a program ukončite:
  • if (x) (alert ("A number is required!"); exit; // exit the program)

  • Ak chcete pokračovať v programe (ak bola zadaná hodnota číslo), zobrazte nasledujúce okno so vstupnou výzvou:
  • alert ("Zadajte druhé číslo"); // ak zadáte nečíslo, výpis sa nevykoná

  • Skript otestujte v prehliadači.

Otázky pre sebaovládanie:

  1. Vymenujte tri parametre slučky pre a vysvetliť ich účel.
  2. Čo znamená operátor, ktorý ukončí slučku a preruší ju? Uveďte príklady ich použitia.
  3. Na čo slúži operátor východ?

Je možné mať v jednom FOR viac čítačov?

Zaujímavá práca so slučkou for je možná pomocou súčasne dva počítadlá v cykle.
Uvažujme príklad:

Príklad 7: Pomocou skriptu vytlačte nasledujúce páry premenných a hodnôt do troch riadkov: i = 0 j = 2 i = 1 j = 3 i = 2 j = 4


✍ Riešenie:
  • V cykle for usporiadajte dva čítače: counter i na výstup sekvencie 0 1 2 , počítadlo j na výstup sekvencie 2 3 4 :
  • 1 2 3 pre (i = 0, j = 2; i< 10 , j< 5 ; i++, j++ ) { }

    pre (i = 0, j = 2; i<10, j<5; i++, j++) { }

    Každý z troch parametrov slučky for má teraz dve hodnoty, ktoré sú uvedené oddelená čiarka(napríklad prvý parameter s dvoma hodnotami: i = 0, j = 2). Samotné parametre sú uvedené bodkočiarka oddelená(;).

  • Na výstup do každého riadku použite značku
    :
  • 1 2 3 4 pre (i = 0, j = 2; i< 10 , j< 5 ; i++, j++ ) { document.write ("
    i = ", i," j = ", j);)

    pre (i = 0, j = 2; i<10, j<5; i++, j++) { document.write("
    i = ", i," j = ", j);)

Generovanie online stránok: ako to je?

Pred vykonaním ďalšej úlohy zvážte príklad. dynamicky vytvára html stránku pomocou JavaScriptu.

Príklad 8:

  • Je potrebné dynamicky generovať zoznamy s odrážkami a číslované zoznamy na webovej stránke v závislosti od údajov zadaných používateľom: vyzvite používateľa na zadanie zobrazenie zoznamu(očíslované (číslo 1) alebo označené (číslo 2)) a potom počet položiek zoznamu.
  • V závislosti od odpovede zobrazte štítky zoznamu s odrážkami alebo číslovaných zoznamov s požadovaným počtom položiek.
  • Ak je zadaný neexistujúci typ zoznamu, potom zobrazte správu „Prosím, zadajte správny typ!“ a ukončite program ().

Pamätajme na značky:
číslované značky:

<ol> <li> <li> <li> </ ol>

značky s odrážkami:

var listType = prompt ("Zadajte" 1 "pre zoznam s odrážkami," 2 "pre očíslovaný zoznam");

  • Skontrolujte zadanú hodnotu: pre očíslovaný zoznam (číslo 1) odošlite značku
      , pre označenú (číslo 2) - štítok
        ... Ak je zadaná iná hodnota, vytlačte poznámku a ukončite program:

            ") else (upozornenie (" Zadajte správny typ "); ukončiť;)

          • Inicializujte premennú kolvo hodnota zadaná používateľom do modálu:
          • var kolvo = prompt ("Zadajte počet položiek");

          • Ak chcete previesť hodnotu reťazca na číselnú hodnotu, použite funkciu parseInt:
          • pre (var i = 1; i<=kolvo; i++) document.write("");

          • Pretože sú zoznamy uzavreté zodpovedajúcimi štítkami, vytlačte ich v závislosti od typu zoznamu:
          • if (listType == "1") document.write ("") else if (listType ==" 2 ") document.write ("" ) ;

            if (listType == "1") document.write ("

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

    1. Skript otestujte v prehliadači.
    2. Js úloha 3_11.
      Napíšte skript, ktorý zobrazuje značky vstup(ovládacie prvky) rôznych typov, v závislosti od zadanej číslice:

      1 - textové pole,
      2 - tlačidlo,
      3 - rádio(prepínač).

      Mal by sa tiež vyžadovať počet zobrazených značiek.

      Pamätajme na značky:

      Pre 1 - textové pole: Pre 2 tlačidlá: Pre 3 - rádio:

      Príklad výstupu:

      Js úloha 3_12. Nakreslite šachovnicu 9x9 pomocou JavaScriptu pre slučky. Tabuľka "Draw" by mala byť html značiek pre tabuľku:

      Pamätajme na značky:

      <orámovanie tabuľky = "1" šírka = "30%"> <tr> <td>-</ td> -</ td> </ tr> </ stôl>

      --

      • Ak chcete nakresliť 9 riadkov, musíte zorganizovať externú slučku for s počítadlom i.
      • Ak chcete nakresliť 9 buniek v každom riadku, musíte usporiadať vnútornú (vnorenú) slučku pre počítadlo s počítadlom j.
      • Na vykreslenie značiek buniek a riadkov použite metódu document.write.

      Výsledok:

      Dodatočne:

      1. Vytlačte multiplikačnú tabuľku do buniek tabuľky pomocou počítadiel slučiek (i a j).
      2. Zobraziť prvý riadok a prvý stĺpec s červeným pozadím (atribút bunky tabuľky bgcolor):
        <td bgcolor = "red">-</ td>

        -

      Výsledok:


      Otázky pre sebaovládanie:

      1. Vysvetlite, čo znamená dynamické vytváranie stránok?
      2. Aký je najčastejšie používaný jazykový konštrukt pre dynamické vytváranie stránok?

      Cyklické výroky jazyka javaScript - While

      Syntax príkazu while je:

      while (podmienka) (//..blok výpisov ..);

      Príklad: Zobrazovacie sily dvoch až 1000 (2, 4, 8 ... 512). Použite metódu alert ()


      ✍ Riešenie:
      • Výpis scenára:
      • 1 2 3 4 5 var a = 1; while (a< 1000 ) { a*= 2 ; alert(a) ; }

        var a = 1; while (a< 1000){ a*=2; alert(a); }

        a * = 2 → používa sa operácia zloženého zadania: produkt kombinovaný so zadaním, t.j. to isté ako a = a * 2

      • Výsledok otestujte v prehliadači.

      Ako fungujú príkazy prerušenia a pokračovania v cykle while?

      Príklad:

      var a = 1; while (a< 1000 ) { a*= 2 ; if (a== 64 ) continue ; if (a== 256 ) break ; alert(a) ; }

      var a = 1; while (a< 1000){ a*=2; if (a==64) continue; if (a==256) break; alert(a); }

      Sily dvoch budú odovzdané do 128 vrátane a hodnoty 64 bude preskočené. Tých. v dialógových oknách uvidíme: 2 4 8 16 32 128

      Js úloha 3_13. Aké hodnoty zobrazí nasledujúci úryvok kódu?

      var počítadlo = 5; while (counter< 10) { counter++; document.write("Counter " + counter); break; document.write("Эта строка не выполнится."); }


      Js úloha 3_14. Napíš kód montáže NS do stupňa r pomocou while slučky. Zistite dopyt na hodnoty premenných a výsledok odošlite pomocou upozornenia ().

      Vyplňte kód:

      1 2 3 4 5 6 7 8 9 var x = ...; var y = ...; pult = 1; chislo = x; while (...) (chislo = x * ...; counter = ...;) alert (chislo);

      var x = ...; var y = ...; pult = 1; chislo = x; while (...) (chislo = x * ...; counter = ...;) alert (chislo);

      A Opravte chybu v programe určenom na vyhľadanie faktoriálu čísla:

      1 2 3 4 5 6 7 8 9 10 11 12 13 var counter = prompt ("Zadajte číslo"); var faktoriál = 1; document.write ( „Číselný faktoriál:“+ counter + "! ="); do (if (counter == 0) (faktororial = 1; break;) faktororial = factororial / counter; counter = counter + 1;) while (counter> 0); document.write (faktoriál);

      var counter = prompt ("Zadajte číslo"); var faktoriál = 1; document.write ("Číslo faktoriálu:" + počítadlo + "! ="); do (if (counter == 0) (faktororial = 1; break;) faktororial = factororial / counter; counter = counter + 1;) while (counter> 0); document.write (faktoriál);


      Js úloha 3_16. Upraviť program pre vstup používateľa:

      Výzva na zadanie používateľského mena, kým používateľ skutočne nezadá meno (t. J. Pole je skutočne vyplnené a nestlačí sa kláves Zrušiť). Po zadaní názvu sa zobrazí výstup „Ahoj meno!“... dokument.

      Ako nájsť chyby v JavaScripte?

      V niektorých prípadoch kód na stránke z nejakého dôvodu nefunguje. Kde hľadať chybu? V takýchto prípadoch môžete použiť príkaz try..catch.

      Príkaz try..catch sa pokúsi vykonať kus kódu, a ak dôjde k chybe v kóde, je možné zobraziť chybu na obrazovke.
      Chyba je uložená v objekte e.message.

      Uvažujme prácu operátora na príklade:

      Príklad: napíš výpis s chybou v programe. Skontrolujte chybu v podozrivom chybnom kóde: ak je v kóde chyba, zobrazte správu "spracovanie chýb: názov chyby"... Po skontrolovaní chybného operátora vydajte správu bez ohľadu na to, či sa v kóde vyskytla chyba „dokončovacie akcie“


      ✍ Riešenie:
      • Ako správu s chybou použijeme metódu prompt () napísanú s chybou - promt ()... Chybovú správu vložte do bloku na vyskúšanie:
      • výstraha („pred“); try (promt ("zadajte číslo"); // operátor s chybou)

        Vyskúšajte z angličtiny. - "try", teda vložíme príkaz try pred fragment kódu, ktorý môže obsahovať chybu (v našom prípade naozaj došlo k chybe).

      • Chybové hlásenie by malo byť umiestnené v bloku zachytenia:
      • 6 7 8 9 úlovok e) (výstraha ( "spracovanie chýb:"+ e.message); )

        catch (e) (alert ("handling error:" + e.message);)

        Ak skutočne existuje chyba, potom príkaz catch uloží túto chybu v objekte e. Neskôr to môže byť zobrazené v dialógovom okne e.message.

      • Výslednú správu, ktorá by sa mala zobraziť bez ohľadu na to, či je v kóde chyba, umiestnite do konečne bloku:
      • konečne (alert ("dokončovacie akcie");) alert ("after");

        Ak dôjde k chybe, potom tlmočník po zobrazení v našom príklade vykoná blok blokovania a nakoniec (z angličtiny „dokončení“, „konečne“), ktorý sa vykoná vždy, bez ohľadu na to, či vyskytla sa chyba alebo nie. A to aj v prípade, že došlo k chybe v bloku zachytávania.

      Dôležité: Konečný blok je v konštrukcii voliteľný.


      Úloha Js__17. Postupujte podľa vyššie uvedeného príkladu s nasledujúcimi úpravami:

    3. Odstráňte konečne blok a sledujte beh kódu.
    4. Vymeňte chybný operátor za bezchybný a uvidíte, aký bude výsledok.
    5. Zhrnutie:

      Lekcia sa týkala nasledujúcich operátorov a konštrukcií jazyka Javascript:

      Podmienené vyhlásenia Javascript:

    6. Ak vyhlásenie
    7. Podmienené priradenie (ternárny operátor)
    8. Prepnúť vyhlásenie
    9. Prevádzkovatelia slučiek:

    10. Pre slučku
    11. Zatiaľ čo slučka
    12. Slučka do ... zatiaľ
    13. Pre ... v slučke
    14. Záverečná úloha Js 3_18.
      Vytvorte hru pre dvoch:

      1. Program požiada prvého hráča, aby zadal číslo z 1 predtým 100 (druhý hráč nevidí zadané číslo). Potom je druhý hráč vyzvaný uhádnuť zadané číslo. Správa sa zobrazí ako odpoveď „málo“ alebo "veľa" podľa zadanej odpovede. Ak hráč uhádne správne, zobrazí sa blahoželanie. Ak uhádne chybu, hra pokračuje (až do skutočného uhádnutia čísla).
      2. Vypočítajte počet pokusov a po uhádnutí počtu vráťte výsledok.


      Otázky pre sebaovládanie:

      1. Kedy je vhodné použiť slučku For In? Aký je príklad jeho použitia.
      2. Aký je účel vyhlásenia try..catch?
      3. Vysvetlite účel každého bloku príkazov try..catch.
      Obsah dokumentu

      JavaScript podporuje kompaktnú skupinu operátorov, ktorú je možné použiť na vytváranie interaktívnych webových stránok. Táto kapitola poskytuje prehľad týchto operátorov.

      Táto kapitola obsahuje nasledujúce časti, ktoré poskytujú prehľad každého operátora:

      • Operátorský blok: { }
      • Podmienení operátori: keby ... inak a prepínač
      • Prevádzkovatelia slučiek: pre, while, do ... while, label, break and continue (štítok sám o sebe nie je operátorom slučky, ale často sa používa u uvedených operátorov)
      • Prevádzkovatelia manipulácie s objektmi: pre ... v a s
      • Komentáre (1)
      • Prevádzkovatelia výnimiek: Skús chytiť a hodiť
      Akýkoľvek výraz je tiež operátorom. Kompletné informácie o operáciách nájdete v kapitole 3 v časti Výrazy a operácie.

      Na oddelenie príkazov v jazyku JavaScript použite znak bodkočiarky (;).

      Pozri knihu Jadro JavaScriptu. Adresár. podrobnosti o operátoroch z tejto kapitoly.

      1. Blok operátorov

      Blok výpisov sa používa na zoskupenie príkazov. Blok je ohraničený zloženými zátvorkami:

      (vyhlásenie1 vyhlásenie2 .. vyhlásenie)

      2. Podmienené vyhlásenia

      Podmienený príkaz je sada príkazov, ktoré sa vykonajú, ak je zadaná podmienka pravda... JavaScript podporuje dvoch podmienených operátorov: keby ... inak a prepínač.

      2.1. Keby ... iné vyhlásenie

      Tento operátor sa používa na vykonanie určitých operátorov, ak je to logická podmienka pravda; použite voliteľný blok inak vykonať inú operáciu, ak je splnená podmienka nepravdivé... Príkaz if vyzerá takto:

      if (podmienka) (príkazy1) [else (príkazy2)]

      Podmienkou môže byť akýkoľvek výraz JavaScriptu vyhodnotený v pravda alebo nepravdivé... Vykonávanými príkazmi môžu byť ľubovoľné príkazy jazyka JavaScript vrátane vnorených príkazov ak... Ak potrebujete vykonať viac ako jeden výpis za výpisom ak alebo inak, musíte tieto spustiteľné príkazy ohraničiť zloženými zátvorkami ().

      V podmienenom výroku by ste nemali používať jednoduché priradenia. Napríklad NEPOUŽÍVAJTE tento kód:

      Ak potrebujete použiť priradenie v podmienenom príkaze, pridajte okolo operátora priradenia ďalšie zátvorky. Napríklad, if ((x = y)).

      Nezamieňajte primitívne Boolovský-hodnoty pravda a nepravdivé s hodnotami pravda a nepravdivé objekt Boolovský... Akýkoľvek objekt, ktorého hodnota nie je nedefinované, nulový, nula, ** NaN ** alebo prázdny reťazec vrátane objektu Boolovský s významom nepravdivé, sa počíta v pravda pri prechode na podmienečné vyhlásenie. Napríklad:

      var b = new Boolean (false); ak (b) // táto podmienka sa vyhodnotí ako pravdivá

      Príklad.

      V tomto príklade funkcia checkData vracia pravda ak je počet znakov v Text-objekt sa rovná trom; inak vytlačí varovanie a vráti sa nepravdivé.

      funkcia checkData () (if (document. form1. threeChar. value. length == 3) (return true) else (alert (" Zadajte presne tri znaky.„+ dokument. formulár1. triChar. hodnota +“ je neplatný. ") return false))

      2.2. Prepnúť vyhlásenie

      Prevádzkovateľ prepínač umožňuje programu vyhodnotiť výraz a pokúša sa priradiť hodnotu výrazu k hodnote v označení prípadu. Ak sa nájde zhoda, program vykoná príslušné vyhlásenie. Prevádzkovateľ prepínač vyzerá takto:

      prepínač (výraz) (označenie prípadu: vyhlásenie; koniec; štítok prípadu: vyhlásenie; koniec; ... predvolené: vyhlásenie;)

      Program najskôr vyhľadá štítok ktorá zodpovedá hodnote výraz a potom vykoná súvisiace vyhlásenie. Ak sa zhoduje štítok nenájdené, program vyhľadáva voliteľné predvolené vyhlásenie/ je predvolený operátor a ak sa nájde, vykoná pridružený operátor. Ak predvolené vyhlásenie nenájdený, program pokračuje vo vykonávaní príkazu nasledujúceho po skončení príkazu prepínač.

      Voliteľný operátor prestávka spojené so štítkom prípade štítok, zaisťuje, že program zruší vyhlásenie prepínač, akonáhle je vykonaný výpis nájdenej zhody, a pokračuje vykonanie s výpisom nasledujúcim po vyhlásení prepínač... Ak prestávka chýba, program pokračuje vo vykonávaní ďalšieho príkazu vo vnútri príkazu prepínač.

      Príklad.

      Tu ak expr vyhodnotí ako „Banány“, program sa zhoduje s prípadom „Banány“ a vykoná súvisiace vyhlásenie. Ak sa zistí prerušenie, program sa preruší prepínač a vykoná výpis za blokom výpisu prepínač... Ak prestávka chýba operátor v prípade Popravia sa aj „čerešne“.

      switch (expr) (prípad "Pomaranče": dokument. write (" Pomaranče sú 0,59 dolára za libru.
      "); break; case" Jablká ": document. write (" Jablká sú 0,32 USD za libru. "
      "); zlom; prípad" banány ": dokument. write (" Banány sú 0,48 dolára za libru.
      "); zlom; prípad" Čerešne ": dokument. write (" Čerešne sú 3,00 dolárov za libru.
      "); zlomiť; predvolené: document. write (" Je nám ľúto, ale už nemáme "+ i +".
      ");) dokument. write (" Je ešte niečo, čo by sa vám páčilo?
      " ) ;

      3. Prevádzkovatelia slučiek

      Cyklus / slučka je to sada príkazov, ktorá sa vykoná viackrát, kým je splnená zadaná podmienka. JavaScript podporuje opakovanie príkazov pre, robiť ... zatiaľ čo a zatiaľ čo, ako aj štítok (štítok sám o sebe nie je operátorom slučky, ale často sa používa u uvedených operátorov). Prípadne môžete použiť operátory prestávka a ďalej operátory vo vnútri slučky.

      Ďalší operátor slučky, pre ... v, tiež vykonáva svoje príkazy v slučke, ale používa sa na manipuláciu s objektmi. Pozrite si časť Prevádzkovatelia manipulácie s objektmi.

      3.1. Za vyjadrenie

      Cyklus pre opakuje sa až do zadanej hodnoty nepravdivé... Slučka JavaScript pre podobne ako slučky pre Java a C. operátor pre vyzerá takto:

      pre ([initialExpression]; [condition]; [incrementExpression]) (príkazy)

      Keď cyklus pre sa vykoná, stane sa nasledovné:

      1. Inicializácia výrazu initialExpression, ak je prítomný, sa vykoná. Tento výraz zvyčajne inicializuje jeden alebo viac počítadiel slučiek a syntax umožňuje výrazy akejkoľvek zložitosti. Tento výraz môže tiež deklarovať premenné.


      2. Vyhodnocuje sa podmienka / podmienený výraz. Ak je hodnota podmienka - pravda, sú vykonávané príkazy / slučky. Ak je hodnota podmienka - nepravdivá, cyklus pre prestane fungovať. Ak výraz stavúplne chýba, predpokladá sa podmienka je pravdivá.


      3. Vykonané Vyhlásenia.


      4. Aktualizujte výraz incrementExpression, ak je prítomný, sa vykoná a riadenie sa vráti do kroku 2.


      Príklad.

      Táto funkcia obsahuje operátora pre ktorý počíta počet vybraných možností v rolovateľnom zozname (objekt Vyberte umožňujúce výber viacerých položiek). Prevádzkovateľ pre deklaruje premennú i a inicializuje ho na nulu. Kontroluje, či menej i počet možností objektu Vyberte, vykonáva operátor ak a prírastok premennej i o jeden po každom absolvovaní cyklu.

      Vyberte niektoré typy hudby a potom kliknite na tlačidlo nižšie:

      "upozornenie (" Počet vybratých možností: "+ howMany (document.selectForm.musicTypes))" ">

      3.2. Urobte ... zatiaľ čo vyhlásenie

      Prevádzkovateľ robiť ... zatiaľ čo opakuje sa, kým zadaný výraz nie je - nepravdivé. Prevádzkovateľ robiť ... zatiaľ čo vyzerá takto:

      do (vyhlásenie) while (podmienka)

      vyhlásenie sa vykoná raz pred kontrolou stavu / podmienky. Ak podmienka - pravda, príkaz sa vykoná znova. Na konci každej popravy stav skontrolované. Ak podmienka - nepravdivá, vykonávanie sa zastaví a kontrola sa prenesie na operátora po robiť ... zatiaľ čo.

      Príklad.

      V tomto príklade slučka robiť iteruje aspoň raz a opakuje iterácie až do i menej 5 .

      do (i + = 1; document.write (i);) while (i< 5 ) ;

      3.3. Zatiaľ čo vyhlásenie

      Prevádzkovateľ zatiaľ čo vykonáva svoje príkazy, pokiaľ je zadaná podmienka - pravda... Prevádzkovateľ zatiaľ čo vyzerá takto:

      while (podmienka) (výroky)

      Ak stav sa stáva nepravdivé sa príkazy vo vnútri slučky zastavia a kontrola sa prenesie do nasledujúceho príkazu po slučke.

      Podmienka / podmienka sa skontroluje pred vykonaním príkazov vo vnútri cyklu. Ak stav vracia pravda, sú vykonávané operátory a stav znova skontrolované. Ak sa stav vráti nepravdivé, ukončenie cyklu sa ukončí a kontrola sa prenesie na operátora nasledujúceho po operátorovi zatiaľ čo.

      Príklad 1.

      Tento cyklus zatiaľ čo iteruje do n menej 3 :

      n = 0; x = 0; while (n< 3 ) { n ++; x += n ; }

      Pri každej iterácii sa slučka zvyšuje n a pridá túto hodnotu do premennej X... V dôsledku toho X a n vezmite nasledujúce hodnoty:

      • Po prvom prechode: n = 1 a x = 1
      • Po druhom prechode: n = 2 a x = 3
      • Po treťom prechode: n = 3 a x = 6
      Po vykonaní troch prechodov slučky stav n< 3 už neplatí, takže vykonávanie slučky je prerušené.

      Príklad 2: Nekonečná slučka.

      Skontrolujte, či je splnená podmienka slučky nepravdivé; inak sa cyklus nikdy nepreruší. Prevádzkovatelia ďalšej slučky zatiaľ čo sa vykonávajú neurčito, pretože podmienka sa nikdy nestane nepravdivé:

      while (true) (alert ("Dobrý deň, svet"))

      3.4. Prevádzkovateľ štítku

      Prevádzkovateľ štítok je identifikátor, na ktorý je možné odkazovať odkiaľkoľvek v programe. Môžete napríklad použiť štítok identifikovať slučku a potom použiť operátory prestávka alebo ďalej prerušiť slučku alebo pokračovať v spustení.

      Syntax operátora štítok vyzerá takto:

      štítok: vyhlásenie

      Hodnota štítok môže byť akýkoľvek platný identifikátor JavaScriptu, ktorý nie je vyhradeným slovom. Vyhlásenie / vyhlásenie označené ako štítok, môže byť akýkoľvek operátor.

      Príklad.

      V tomto príklade štítok markLoop identifikuje cyklus zatiaľ čo.

      markLoop: while (theMark == true) doSomething (); )

      3.5. Vyhlásenie o zlomení

      Použite operátora prestávka prerušiť cyklus prepínač alebo operátor so štítkom štítok.
      • Ak používate prestávka bez štítok, okamžite preruší najbližší obsahujúci zatiaľ čo, do-zatiaľ, pre alebo prepínač a odovzdá kontrolu ďalšiemu operátorovi.
      • Ak používate prestávka s štítok, preruší zadaný označený výpis.
      Syntax operátora prestávka je toto:

      jeden. prestávka 2. zlomiť štítok

      Prvá možnosť preruší najbližšiu obsahujúcu slučku, príp prepínač; druhá možnosť preruší zadaného operátora, ktorý má štítok.

      Príklad.

      Toto iteruje nad prvkami poľa, kým sa nenájde index prvku s hodnotou hodnota:

      pre (i = 0; i< a . length ; i ++ ) { if (a [ i ] = theValue ) break ; }

      3.6. Vyhlásenie pokračovať

      Prevádzkovateľ ďalej slúži na reštartovanie príkazov zatiaľ čo, do-zatiaľ, pre a štítok.
      • Ak používate ďalej bez štítok, preruší aktuálnu iteráciu najbližšej slučky while, do-while alebo pre a pokračuje v tejto slučke s ďalšou iteráciou. Na rozdiel od operátora zlomiť, pokračovať neprerušuje úplne vykonanie slučky. V slučke zatiaľ čo ide do stav... V slučke pre prírastok-výraz.
      • Ak používate, pokračujte s štítok, vzťahuje sa na týmto identifikovaným operátorom slučky štítok.
      Syntax operátora ďalej je toto:

      jeden. pokračujte 2. pokračovať štítok

      Príklad 1.

      Toto je príklad slučky zatiaľ čo s operátorom ďalej ktorý sa vykoná, ak je hodnota i rovná sa 3 ... Teda n získava hodnoty 1, 3, 7 a 12.

      i = 0; n = 0; kým< 5 ) { i ++; if (i == 3 ) continue ; n += i ; }

      Príklad 2.

      Prevádzkovateľ označený ako checkiandj, obsahuje operátora označeného ako checkj... Ak sa nájde ďalej, program preruší aktuálnu iteráciu checkj a spustí ďalšiu iteráciu. Zakaždým, keď sa vyskytne pokračovanie, checkj začne iterovať znova, kým sa jeho stav nevráti nepravdivé... Ak sa vráti nepravdivé, vykoná sa zvyšok výpisu checkiandj a checkiandj opakuje sa, kým sa jeho stav nevráti. Ak sa vráti nepravdivé, program pokračuje v chode od nasledujúceho vyhlásenia checkiandj.

      Ak má pokračovanie štítok pre checkiandj, program bude pokračovať v spustení od začiatku výpisu checkiandj.

      checkiandj: while (i< 4 ) { document . write (i + "
      "); i + = 1; checkj: while (j> 4) (dokument. zápis (j +"
      "); j - = 1; if ((j% 2) == 0) pokračovať v kontrolej; dokument. zápis (j +" je nepárne.)
      ");) dokument. write (" i = "+ i +"
      "); dokument. write (" j = "+ j +"
      " ) ; }

      4. Prevádzkovatelia manipulácie s predmetmi

      JavaScript používa operátory pre ... v a s manipulovať s predmetmi.

      4.1. Pre ... vo vyhlásení

      Prevádzkovateľ pre ... v iteruje cez zadanú premennú cez všetky vlastnosti objektu. Pre každú dosiahnutú vlastnosť vykoná JavaScript zadané operátory. Prevádzkovateľ pre ... v vyzerá takto:

      Pre (premenná v objekte) (

      Príklad.

      Táto funkcia berie objekt a názov objektu ako argument. Potom iteruje cez všetky vlastnosti tohto objektu a vráti reťazec - zoznam názvov vlastností a ich hodnôt.

      funkcia dump_props (obj, obj_name) (var result = ""; for (var i in obj) (result + = obj_name + "." + i + "=" + obj [i] + "
      ") výsledok + ="


      "; vrátiť výsledok;)

      Pre objekt auto s vlastnosťami urobiť a Model výsledok bude taký:

      auto. značka = Ford auto. model = Mustang

      4.2. S výrokom

      Prevádzkovateľ s nastaví predvolený objekt pre skupinu bloku príkazov. JavaScript skúma nekvalifikované mená v rámci bloku príkazov a určuje, či sú názvy predvolene vlastnosťami objektov. Ak je nekvalifikovaný názov vlastnosť, potom sa táto vlastnosť použije vo výpise; inak sa použije lokálna alebo globálna premenná.

      Príkaz with vyzerá takto:

      s (objektom) (výroky)

      Príklad.

      Tu operátor s určuje, že objekt Matematika je predvolený objekt. Výpisy za výrokom s odkazujú na vlastníctvo PI a na metódy cos a hriech bez uvedenia objektu. JavaScript prijíma objekt Matematika ako objekt týchto hovorov.

      var a, x, y ;; var r = 10 s (matematika) (a = PI * r * r; x = r * cos (PI); y = r * sin (PI / 2);)

      Poznámka:

      Použitie príkazu with môže výrazne spomaliť vykonávanie programu.

      5. Pripomienky

      Komentáre zvyčajne vysvetľujú kroky vykonané kódom. Tlmočník ignoruje komentáre. JavaScript podporuje komentáre v štýle Java a C ++:
      • Komentár s jedným riadkom s dvojitou lomkou na začiatku riadku (//).
      • Viacriadkový komentár s / * na začiatku a * / na konci.
      Príklad.

      Tu je príklad dvoch komentárov:

      // Toto je jednoriadkový komentár. / * A toto je viacriadkový. Môže to mať ľubovoľnú dĺžku a môžete si sem umiestniť, čo chcete. * /

      6. Prevádzkovatelia vybavovania výnimiek

      S operátorom môžete hodiť výnimku hodiť a spracujeme to s operátormi Skús chytiť.

      Prevádzkovateľ Skús chytiť tiež sa používa na spracovanie výnimiek Java. Viď Spracovanie výnimiek Java v JavaScripte a Spracovanie výnimiek JavaScriptu v Java.

      6.1. Vyhoďte vyhlásenie

      Prevádzkovateľ hodiť používa sa na vyvolanie výnimky. Ak vyvoláte výnimku, zadávate výraz obsahujúci hodnotu výnimky:

      hodiť výraz

      Nasledujúci kód prináša niekoľko výnimiek.

      hod "Chyba2"; // vyvolá výnimku s hodnotou reťazca hod 42; // vyvolá výnimku s hodnotou 42 hodiť pravda; // vyvolá výnimku s hodnotou true

      Pri vyvolaní výnimky môžete určiť objekt. Potom môžete odkázať na vlastnosti objektu v bloku chytiť... Nasledujúci príklad vytvorí objekt myUserException typu UserException a používa to vo vyhlásení hodiť.

      // Vytvorí objekt typu UserException funkcia UserException (message) (this. message = message; this. name = "UserException";) // Vytvorí sa inštancia objektu a zavolá sa myUserException = new UserException ("Hodnota je príliš vysoká"); hod myUserException;

      6.2. Skúste ... chytiť vyhlásenie

      Prevádzkovateľ Skús chytiť označí blok výpisov, pokúsi sa ich vykonať a pri vyvolaní výnimky špecifikuje jednu alebo viac možností odpovede. Ak dôjde k výnimke, prevádzkovateľ Skús chytiť chytí to.

      Prevádzkovateľ Skús chytiť sa skladá z bloku skús ktorý obsahuje jedného alebo viacerých operátorov a nula alebo viac blokov chytiť obsahujúce príkazy, ktoré určujú akcie, keď je v bloku vyvolaná výnimka skús... Teda, ak chcete vykonať blok skús a nevykoná sa, prenesiete kontrolu do bloku chytiť... Ak existuje operátor bloku skús(alebo operátor funkcie volanej z bloku skús) vyvolá výnimku, kontrola sa okamžite prenesie do bloku chytiť... Ak nebola hodená žiadna výnimka, blok chytiť preskočené. Blokovať konečne po vykonaní blokov skús a chytiť, ale pred vykonaním výpisu nasledujúceho po bloku výpisov Skús chytiť.

      Nasledujúci príklad používa operátor Skús chytiť... Zavolá sa funkcia, ktorá požaduje názov mesiaca od poľa na základe hodnoty odovzdanej funkcii. Ak sa hodnota nezhoduje s číslom mesiaca (1 - 12), vyvolá sa s touto hodnotou výnimka „InvalidMonthNo“ a blokovať operátorov chytiť nastaviť premennú na monthName význam „Neznáme“.

      funkcia getMonthName (mo) (mo = mo - 1; // Číslo mesiaca je určené indexom poľa (1 = Jan, 12 = Dec) var months = new Array („Jan“, „Feb“, „Mar“, „Apr“, „May“, „Jun“, „Jul“, „Aug“, „Sep“, „Oct“, „Nov“, „December“); if (mesiace [mo]! = null) (vrátiť mesiace [mo]) else (hodiť „InvalidMonthNo“)) vyskúšať ( // pokúste sa vykonať tieto vyhlásenia: monthName = getMonthName (myMonth) // funkcia môže vyvolať výnimku) catch (e) (monthName = "neznámy" logMyErrors (e) // objekt, ktorý spôsobil výnimku, sa odovzdá do obsluhy výnimiek}

      hod; toto ID môžete použiť na získanie informácií o vyvolanej výnimke. JavaScript vytvára tento identifikátor pri vstupe do bloku chytiť; identifikátor existuje iba počas obdobia vykonávania bloku chytiť; po dokončení vykonávania bloku chytiť identifikátor už nie je k dispozícii.

      Napríklad nasledujúci kód vyvolá výnimku. Ak dôjde k výnimke, riadenie sa prenesie do bloku chytiť.

      vyskúšať (hodiť „myException“ // je vyvolaná výnimka) úlovok (e) ( // operátory na spracovanie akejkoľvek výnimky logMyErrors (e) // výnimka je odovzdaná obslužnej rutine chýb}

      Viac blokov úlovku

      Jeden operátor skús môže obsahovať viac podmienených blokov chytiť, z ktorých každá sa zaoberá konkrétnym typom výnimky. V takom prípade vstup do vhodného podmieneného bloku chytiť sa vykoná, iba ak je vyvolaná výnimka zadaná pre tento blok. Môžete tiež voliteľne zahrnúť samostatný blok chytiť za všetky nešpecifikované výnimky ako posledný blok chytiť v operátorovi.

      Napríklad nasledujúca funkcia volá tri ďalšie funkcie (deklarované inde), ktoré kontrolujú jej argumenty. Ak kontrolná funkcia určí, že kontrolovaný komponent je neplatný, vráti hodnotu 0, čo spôsobí, že volajúca funkcia vyvolá konkrétnu výnimku.

      funkcia getCustInfo (name, id, email) (var n, i, e; if (! validate_name (name)) throw "InvalidNameException" else n = name; if (! validate_id (id)) throw "InvalidIdException" else i = id ; if (! validate_email (email)) throw "InvalidEmailException" else e = email; cust = (n + "" + i + "" + e); return (cust);)

      Podmienené bloky chytiť spravovať vyvolanie príslušnej obsluhy výnimiek.
      " ) { // zavolá obsluhu pre neplatné ID / identifikátory bad_id_handler (e)) catch (e if e == "InvalidEmailException") ( // zavolá obsluhu neplatného e-mailu bad_email_handler (e)) catch (e) ( // do súboru protokolu sa zapíše neznáma výnimka logError (e))

      Nakoniec zablokujte

      Blok finally obsahuje príkazy, ktoré sa vykonajú po vykonaní blokov. skús a chytiť, ale pred vykonaním výkazov nasledujúcich po vyhlásení Skús chytiť... Blokovať konečne sa vykoná bez ohľadu na to, či bola vyvolaná výnimka. Ak je vyvolaná výnimka, príkazy bloku konečne sa vykonajú, aj keď žiadny blok chytiť neriešila výnimku.

      Môžete použiť blok konečne pre správne dokončenie skriptu, keď dôjde k výnimke; napríklad budete možno musieť uvoľniť zdroj spojený so skriptom. V nasledujúcom príklade je súbor otvorený a operátory s ním pracujú (prístup na server umožňuje JavaScript na strane servera). Ak sa počas otvorenia súboru vyvolá výnimka, blok konečne zavrie súbor skôr, ako skript zlyhá.

      openMyFile (); skúste (writeMyFile (theData)) konečne (closeMyFile () // zdroj je vždy zatvorený}

      Vnorenie sa pokúste ... chytiť vyhlásenia

      Môžete vnoriť jedného alebo viacerých operátorov Skús chytiť do seba. Ak vnútorný operátor Skús chytiť nemá blok chytiť, blok sa skontroluje na zhodu chytiť obsahujúci operátor Skús chytiť.