Izrazi i operateri. JavaScript operateri označavaju listu

Prvo kratko o izrazima u JavaScript-u.

JavaScript izrazi

U JavaScript-u postoje uputstva i izrazi.

Upute ne vraćaju vrijednosti.

Izrazi uvek Vratite neke vrijednosti. Kada prevoditelj vidi izraz, izračunava svoju vrijednost i zamjenjuje izraz po njegovoj vrijednosti.

Izrazi su jednostavni i kompozitni. Jednostavni izrazi ne uključuju druge izraze.

Jednostavni izrazi uključuju:

  1. Identifikatori: Netkar (naziv varijable);
  2. Literali: "string" ili 675 (broj ili numerički doslovni);
  3. Neke ključne riječi, poput ovoga;

Kada parser otkriva identifikator, prvo se treba izračunati, odnosno, na primjer, zamijenite ime varijable po njegovoj vrijednosti.

Vrijednost doslovne bit će napisana u kôdu skripte.

Operatori i složeni JavaScript izrazi

Za kombiniranje nekoliko jednostavnih izraza u jednom slogu korišteni su operatori.

Operatori su:

  • Nerarni (jedan operand).
  • Binarni (dva operanda).
  • Terner operator? U JavaScript (tri operanda postoji samo jedan ternarni operator).

Operand je jednostavan izraz na koji se primenjuje operater.

Na primjer, aritmetički dodatni operater "+" je binarni operater. Sažima lijevi i desni operand i vraća iznos.

Var Digit \u003d 4 + 7;

Usput, dodjela se događa kod operatora za dodjelu "\u003d". Ovaj operater izračunava vrijednost desnog operanda i dodjeljuje ga lijevom operandu.

JavaScript ima neravan plus, ima samo jedan operand. UNDINARS plus nije aritmetički operater, pretvara operand na broj.

Var myvar \u003d "7"; Dokument.write (TIPOF (Myvar) + "
"); // Ispisuje u nizu Myvar \u003d + Myvar dokument; dokument.write (Typeof (Myvar) +"
"); // Ispis u dokumentu

Prvo, varijabla Myvar sadržavala je niz "7", ovo je doslovna vrsta linije (string), a ne numerički (broj). Uz pomoć operatera, neravni plus transformirali smo niz doslovno u numeričkim.

Aritmetičke operacije

Aritmetičke operacije su sve poznate matematičke akcije.

Možda je operator% (ravnoteža podjela) potreban objašnjenje. 9 je podijeljeno u 5 s ostatkom 4, to je ta ravnoteža koja vraća ovaj operater. Takođe, to se zove uzimanje modula. Kada se koristi cijeli brojevi, rezultat rada ovog operatera također će biti cijeli broj. Prilikom rada s plutajućim brojevima, rezultat će biti plutajući broj.

5.5 % 2.2 = 1.1

U aritmetičkim operacijama treba pamtiti da s pogrešnim izvršenjem mogu rezultirati rezultatima:

  • Nan (ne broj) nije broj.
  • Beskonačnost - beskonačnost.

To će voditi podjelu na nulu:

Var Myvar \u003d 0/0; Document.Write ("Varijabilna vrijednost:" + Myvar + ", njegov tip:" + TOFOF (Myvar) + "
");

Operacije poređenja

Pored toga se koriste za usporedbu izraza. Izraz sa uvjetnim operatorom vraća booletnu vrijednost - istinu ili laž (istinito / lažno).

Upoređivanje operacija se može provesti s linijama, o tome će se raspravljati u drugoj lekciji. Jedini uvjet tačnog rezultata je usporedba podataka iste vrste. U suprotnom, JavaScript će pokušati prevesti podatke iz jedne tipa u drugu, a to nije uvijek moguće. Da biste izbjegli pogreške, uspoređuju samo jednu vrstu podataka.

Operacije za dodjelu

Najočitiji primjer operacije zadatka je jednostavan zadatak (\u003d). Ovaj operator (\u003d) koristi se za dodjelu vrijednosti varijable.

Ali postoje neke operacije dodjele koje su skraćenice.

Logičke operacije

Logičke operacije se često koriste sa drugim ako dizajn u JS-u. Na primjerima je ovog dizajna koji će se demonstrirati njihov rad. Ali prvo popis logičkih operatora.

Sada jednostavni primjeri:

Ako (True && True) dokument.write ("Radi!
"); ako (TRUE || FALSE) dokument.write (" Radi!
"); ako (! False) dokument.write (" Radi!
");

Mi ćemo analizirati ove primjere:

Logički i (&&) operator će se vratiti istinu ako su oba operanda istina.

Izjava je logična ili (||) će vratiti istinu ako je barem jedan operand istinit.

Izjava nije logična (!) Uzima jedan operand i mijenja vrijednost istine / leži u suprotno.

Unacionalni operatori

Unacionalni operatori su operateri sa jednim operandom. Evo nekih takvih operatera:

  • ++ - priraštaj na 1 (priraštaj). Može biti prefiks i postfiks, o tome u nastavku.
  • - - Smanjenje u 1 (decrement). Može doći do prefiksa i postfiksa, o tome i ispod.
  • + - UNDINARS PLUS.
  • - - Unariji minus.

Unariji minus

Unaranjski minus mijenja znak izražavanja suprotnom. Na primjer, kada pišete u programu -100, jednostavno nanosite 100 minus u numerički doslovni doslovni.

Točno morate razumjeti kako je unajamni minus radovi - vraća vrijednost operanda sa suprotnim znakom. Evo primjera kako koristiti nerarni minus:

Var myvar \u003d -100; Document.write (-myvar + "- radio je unoran na minus, ali varijabla je takođe \u003d" + myvar + ".
"); Myvar \u003d -myvar; dokument.write (" sada varijabla \u003d "+ myvar +".
");

Dajemo nezamjenjiv primjer dvostrukog unadnjoj minus. Mislim u obrazovne svrhe bit će korisno:

Var myvar \u003d -100; Document.write (- Myvar + "je priraštaj, a ne dvostruki unaran minus.
"); dokument.write (" sada varijabla \u003d "+ myvar +".
"); Dokument.write (- (- Myvar) +" i ovo je dvostruka primjena nerajnog minus.
");

Unariji plus

Unadredni plus ne pravi matematičke akcije. Vodi doslovno u numerički tip.

Var myvar \u003d "78687"; Dokument.write (TIPOF (Myvar) +.
"); myvar \u003d + myvar; dokument.write (TIPOOF (Myvar) +.
");

Povećanje i smanjenje

U programiranju je često potrebno povećati ili smanjivati \u200b\u200bvrijednost varijable po jedinici. Za to postoje unacionalni operatori:

  • ++ - priraštaj na 1 (priraštaj).
  • - - Smanjenje u 1 (decrement).

Za razliku od nerajnog plus i minus, priraštaj i smanjenje mijenja vrijednost varijable prilikom poziva.

Var myvar \u003d 10; Dokument.write (++ myvar +.
"); Dokument.write (myvar +.
");

Smanjenje (-) važe se slično.

Sada razmislite o prefiksu i postfixu korištenju ovih operatera.

  • ++ Myvar - prefiks povećanje za 1.
  • myvar ++ - Postfix povećanje za 1.

Razlika je:

  • Prefiks upotreba ovih operatora prvo izračunava vrijednost unog unog operatora, a zatim koristi rezultat izražavanja.
  • Postfix Upotreba prvo izračunava izraz, a zatim vrši pooristvani operater (++ ili -).

Ovo će vam pomoći da shvatite jednostavan primjer:

Var myvar \u003d 10; Dokument.write ((++ myvar + 5) + ".

"); var myvar \u003d 10; dokument.write ((Myvar ++ + 5) +".
"); Dokument.write (" varijabl \u003d "+ myvar +".
");

Povećanje i smanjenje dopušteno je samo koristiti sa varijablama, nemoguće ih je primijeniti u numeričke doslovne litere. Jednostavno stavite kôd ++ 7 DAS grešku u skriptu.

Ostali operateri

U JavaScript-u postoje i drugi operateri:

  • Ternerary (sa tri operanda) operatera

var a \u003d 10; VAR B \u003d (a\u003e 1)? 100: 200; Upozorenje (b);

Ako je stanje a\u003e 1. Istina, zatim varijabla b. Dodijeliti vrijednost 100 Inače varijabla b dodijeli vrijednost 200 .

JS 3_4 zadatak. Za nadopunu Kodeksa: 3 lokalne varijable najavljuju se pomoću ključne riječi vara. Potrebno je dodijeliti vrijednost sljedeće ternarne izjave u maksimalnoj varijabli: ako je a veća od b, zatim vratite a, u suprotnom se vraćamo b.
Fragment koda:

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


Pitanja za samokontrolu:

  1. Šta je sintaksa ternarniranog operatera?
  2. Koliko argumenata ima ternarni operator?

Prebacivanje operatora u JavaScript - Prekidač

Prekidač JavaScript operater služi za provjeru varijable na različite vrijednosti:

Sintaksa:

prekidač (varijabljiv ili izraz) (opcija kućišta1: //..block operatori .. Break Case opcija2: //..block operatori .. RASPOLOŽENJE: //..Block operatori ..)

Provjerava se vrijednost varijable ili izraza: u svakom slučaj. Jedna od vrijednosti se provjerava, u slučaju odgovarajuće vrijednosti, jedan ili drugi blok operatora koji odgovara ovom slučaj..

Blok koji započinje s zadanim vrijednostima servisne riječi može se izostaviti. Blok operatori će se izvesti ako u svemu nijedna od navedenih vrijednosti slučaj. Nije pogodno.

Bitan: Operator Break potreban je nakon svake od razmatrane varijabilne vrijednosti (nakon svakog slučaj.); Ako ne upotrebite, tada će se prikazati svi operateri u nastavku.

Uporedite sa operatorom Ako.:

var a \u003d 2; Prekidač (a) (slučaj 0: // ako (A \u003d\u003d\u003d 0) slučaj 1: // ako (A \u003d\u003d\u003d 0) upozori ("nula ili jedan"); // a zatim uzimamo ... pauzu; Slučaj 2: // Ako (A \u003d\u003d\u003d 2) upozorenje ("dva"); // Zatim uzimamo ... Pauza; zadano: // drugo upozorenje ("Mnogo"); // Inače ... )

Kako grupisati nekoliko opcija?

Da ispuni iste operatere, grupiranje nekoliko slučaj.. Kao u gornjem primjeru:

Slučaj 0: Slučaj 1: upozorenje ("nula ili jedan"); Prekid; ...

Na a \u003d 0 i a \u003d 1, isti operator se izvodi: upozorenje ("nula ili jedan");

Primjer 4: Pošaljite od korisnika da biste unijeli boju. Prikažite prevod u engleski unos. Za boju "plava" i "plava" Pošaljite istu vrijednost.


✍ Rješenje:
  • Kreirajte web stranicu sa HTML kosturom i oznakom scenarij..
  • Inicijalizirajte varijablu boja
  • var color \u003d brz ("Kakve boje?");

    var color \u003d brz ("Kakve boje?");

  • Provjerite vrijednost varijable pomoću dizajna switsh.Prikazom svake vrijednosti - odgovarajući prijevod:
  • prekidač (boja) (CASE "CRVENO": upozorenje ("crveno"); pauza; futrola "zelena": upozorenje ("zeleno"); pauza; // ...

    Ako je varijabla bojaima značenje "crvene", a zatim prebacivanje prenosa u modalni prozor - "Crveno" i izađite iz dizajna (prekid;). Ako je varijabla boja Ima značenje "zelene", za prikaz u modalnom prozoru - "zeleno" i izađite iz dizajna (pauza;).

  • Za cvijeće "plava" i "plava" Izvršite grupiranje:
  • // ... Slučaj "Plava": Slučaj "BLUE": upozorenje ("plava"); Prekid; // ...

    Ako je varijabla bojaima značenje "plave" ili varijable bojaima značenje "plavog", a zatim prikazati prijevod u modalni prozor - "plavi" i izađite iz dizajna (pauza;).

  • Organizirajte izlaz za one boje koje nije dao program:
  • // ... Default: Alert ( "Y nemamo nikakve informacije o ovoj boji")) // kraj prekidača

    // ... Default: Alert ("Y nemamo podatke o ovoj boji") // kraj prekidača

  • Ispitajte skriptu u pretraživaču.

JS 3_6 zadatak. Pronađite i ispravite greške u sljedećem fragmentu koda:

14 15 16 17 Var broj \u003d brz ( "Unesite broj 1 ili 2:"); Prekidač (Case "1" (dokument.Write (jedan ");); pauza; slučaj" 2 "(dokument.write (" dva ");); prekid; zadano (dokument.wite ( "Unijeli ste vrijednost koja nije 1 i 2") ; } ; }

var broj \u003d brz ("unesite broj 1 ili 2:"); Prekidač (Case "1" (dokument.Wite (jedan ");); pauza; slučaj" 2 "(dokument.Wite (" dva ");); prekid; zadano (" uneli ste vrijednost osim 1 i 2 "););)


JS 3_7 zadatak. Što će biti prikazano na ekranu prilikom izvođenja sljedećeg koda?:

1 2 3 4 5 6 7 8 9 10 11 12 13 Var vrijednost \u003d "2"; Prekidač (vrijednost) (Case "1": Case "2": Case "3": dokument.Wite ("HELLO"); Break; Case "4": Case "5": dokument. ("Svijet"); Zadano: Document.write ("Greška");)

var vrijednost \u003d "2"; Prekidač (vrijednost) (Case "1": Case "2": Case "3": dokument.Wite ("HELLO"); Break; Case "4": Case "5": dokument. ("Svijet"); Zadano: Document.write ("Greška");)


JS 3_8 zadatak. Korisnik traži broj - broj gavrana na grani. Ovisno o unesenom broju (ne više od 10), izlažite poruku: - sjedi na grani 1 vrana. - sjedi na grani 4 vrana - sjedi na grani 10 Roron

  1. Ovisno o uvedenom broju, kraj riječi se mijenja "vrana".
  2. Da biste provjerili korištenje prekidača JavaScript operatora.
  3. Spremite ovu stranicu u mapu Rezultati (koristan je za daljnji rad).


Pitanja za samokontrolu:

  1. U tom slučaju preporučljivo je kao uvjetno rukovodionik za korištenje dizajna prebaciti?
  2. Koji je zadani blok u operateru prebaciti?
  3. Je li potrebno koristiti operator Break u dizajnu prebaciti?
  4. Kako se grupiranje vrši za nekoliko opcija za vrijednosti u operatoru prebaciti?

Ciklični operatori JavaScript jezika - za

Sintaksa:

za (početna vrijednost brojača; stanje; priraštaj brojača) (//..block operatori ..)

Bitan: Ciklus u JavaScript-u koristi se kada je unaprijed poznato, koliko puta bi se puta cikličke akcije treba ponoviti (koliko iteracija u ciklusu)

  • Kao početna vrijednost metra icije, koristi se izraz zadatka: na primjer, i \u003d 0 - brojač ciklusa počinje od nule:
  • za (var i \u003d 0; uvjet; priraštaj brojača) (//..block operatori ..)

  • Kao priraštaj brojača, korak je naznačen s kojim bi mjerač trebao povećati: na primjer, ukazuje da će svaki ciklus biti popraćen povećanjem 1 :
  • za (var i \u003d 0; uvjet; i ++) (//..block operatori ..)

  • Ciklus stanja je konačna vrijednost brojila: na primjer, I10, zaustavlja ciklus:
  • za (var i \u003d 0; i<10; i++) { //..блок операторов.. }

Razmotrite primjer korištenja ciklusa u JavaScript-u:

Primjer 5: Prikažite redoslijed brojeva 0 1 2 3 ... 9 , svaka cifra - iz nove linije. 0 1 2 ... 8 9


✍ Rješenje:
  • Da biste prikazali redoslijed brojeva, koristićemo za brojač ciklusa, koji mora promijeniti svoju vrijednost iz 0 prije 9 Prema redoslijedu.
  • Dakle, za početna vrijednost brojača ciklusa Postavite vrijednost jednaku 0 ; kao ciklus uslova Postavite konačnu vrijednost - II \u003d 9; Brojač koraka mora biti jednak 1 (I ++), jer je razlika između članova sekvence jedna:
  • za (var i \u003d 0; i<10; i++) { document.write(i+"
    "); }

    U primjeru se na ekranu prikazuju vrijednosti ciklusa, jer će se prirast brojač I ++, odnosno pojaviti na ekranu 0 1 2 3 ... 9 i svaka cifra - iz nove linije (oznaka)
    ).

  • Ispitajte skriptu u pretraživaču.

JS 3_9 zadatak. 1 prije 15 .

  1. Kao niz brojeva koristite brojač ciklusa za.
  2. Za varijabilni učitelj koristite varijabilni identifikator sUMA..

Fragment koda:

Za (var i \u003d ...; ...; ...) (suma \u003d suma + ...;) ...

Izlazni operatori ciklusa prekršiti i nastavite. u JavaScript-u. Operator IZLAZ.

Operator razbijanja prekida cijelo tijelo ciklusa, tj. Izađite iz ciklusa na JavaScript.

Dok nastavak operatera prekida izvršenje trenutne iteracije ciklusa, ali, dok nastavi izvršenje ciklusa od sljedeće iteracije.

Razmislite o radu pauza i nastavite operatore na primjeru:

Primjer: Izbliži algoritam fragmenta koda. Šta će biti izvedeno?

Fragment koda:

1 2 3 4 5 6 za (var i \u003d 0; i< 10 ; i++ ) { if (i== 4 ) continue ; document.write (i+ "
"); ako (i \u003d\u003d 8) prekid;)

za (var i \u003d 0; i<10;i++) { if (i==4) continue; document.write(i+"
"); ako (i \u003d\u003d 8) prekid;)


✍ Rješenje:
  • U trećoj liniji primjera postoji stanje zbog kojeg je lik 4 Neće se prikazati: operator nastavite.prebacite se na sljedeću iteraciju ciklusa bez dovršetka trenutnog.
  • U liniji broj 5 izlaz iz ciklusa, ali istovremeno, broj 8 Bit će prikazano, jer je izlazna izjava do uvjeta (u 4. retku). Sastanak prekršitiPrevodilac će dovršiti rad ciklusa.
  • Tako Na ekranu će biti: 0 1 2 3 5 6 7 8 - Svaka cifra iz nove linije.

JS 3_10 zadatak. Povući zbroj svih cijelih brojeva iz 1 prije 15 , eliminirajući od ukupnog broja brojeva 5 i 7 .

Izlazni operator

Jezik JavaSctipt nudi izlaznik iz programa programa - Izjava izlaz.
Najčešće se operater koristi za isključenje greške u unosu korisnika.


Razmotrite primjer:

Primjer 6: Zatražite korisnik Unesite broj. Ako nije unesen broj, a zatim prikažite poruku. "Broj je potreban!" i zaustaviti rad programa.


✍ Rješenje:
  • Inicijalizirajte varijablu broj Vrijednost koju korisnik upiše u modalnom prozoru:
  • var broj \u003d brz ("unesite broj");

  • Upotreba funkcije parsteintske funkcije pretvorbe reda u cijeli broj provjerite je li unesena vrijednost broj:
  • broj \u003d parseint (broj); // Povratak Nan - nije broj

    U slučaju da se ne unosi broj, funkcija će vratiti nansku vrijednost (s engleskog jezika. nije broj. - Ne broj).

  • Provjerite vrijednost varijable broj Korištenje funkcije Isnan:
  • x \u003d Isnan (broj); // vratiti se TRUE ako vrijednost nije numerička

    Isnan funkcija vraća vrijednost tačno. U slučaju da varijabla nije broj

  • Od pravila "laž" Organizirajte provjeru varijabilne vrijednosti X.. Ako vrijednost nije numerički izlaz odgovarajućim komentarom i dovršite program:
  • ako (x) (upozorenje ("broj!"); Izlaz; // izlaz iz programa)

  • Da biste nastavili program (ako je unesena vrijednost bila broj), iznesite sljedeći prozor s ulaznim napajanjem:
  • upozorenje ("unesite drugi broj"); // Kada uđete, operater se ne izvršava

  • Ispitajte skriptu u pretraživaču.

Pitanja za samokontrolu:

  1. Navedi tri ciklusa parametara za I objasniti njihovu svrhu.
  2. Koji su operatori dizajnirani za izlazak iz ciklusa i za njegov prekid? Daju primjere njihove upotrebe.
  3. Za koji je operater namijenjen iZLAZ?

Postoji li nekoliko metara u jednom?

Zanimljiv rad sa ciklusom mogući su kada se koristi istovremeno dva brojača u ciklusu.
Razmotrite primjer:

Primjer 7: Pomoću skripte ispisujte sljedeće parove varijable na tri linije: i \u003d 0 J \u003d 2 I \u003d 1 J \u003d 3 I \u003d 2 J \u003d 4


✍ Rješenje:
  • U ciklusu organizirajte dva metra: brojač I za redoslijed 0 1 2 , metar j za izlaz sekvence 2 3 4 :
  • 1 2 3 za (i \u003d 0, J \u003d 2; i< 10 , j< 5 ; i++, j++ ) { }

    za (i \u003d 0, J \u003d 2; i<10, j<5; i++, j++) { }

    Svaka od tri parametra za ciklus sada ima dvije vrijednosti koje su navedene. kroz zarezima (Na primjer, prvi parametar sa dvije vrijednosti: i \u003d 0, J \u003d 2). Sami parametri su navedeni kroz zarez(;).

  • Izlaz iz svakog retka koristite oznaku
    :
  • 1 2 3 4 za (i \u003d 0, J \u003d 2; i< 10 , j< 5 ; i++, j++ ) { document.write ("
    i \u003d ", ja," J \u003d ", j);)

    za (i \u003d 0, J \u003d 2; i<10, j<5; i++, j++) { document.write("
    i \u003d ", ja," J \u003d ", j);)

Stranica generacije "U muhu": Kako je?

Prije obavljanja sljedećeg zadatka, razmislite o primer. hTML stranica dinamičke zgrade Sa JavaScriptom.

Primjer 8:

  • Morate dinamički generirati označene i numerirane liste na web stranici, ovisno o podacima koje je unio korisnik: zahtjev korisnika koji će unijeti pogled na listu (numerirano (cifra 1) ili označeno (cifra 2)) i onda broj stavki liste.
  • Ovisno o odgovoru, prikazivanja oznaka ili označene ili numerirane liste s potrebnim brojem predmeta.
  • Ako se unese nepostojeća vrsta liste, a zatim izvršite poruku "Unesite tačan tip!" i izađite iz programa ().

Osvetm oznake:
oznake numerisanih lista:

<ol\u003e <li\u003e <li\u003e <li\u003e </ Ol\u003e

oznake oznake liste:

var listtype \u003d prompt ("unesite" 1 "- ako je označena lista," 2 "- ako je numerirana lista");

  • Provjerite unesenu vrijednost: za numerirani popis (cifra 1) prikažite oznaku
      , za oznaku (cifra 2) - oznaka
        . Ako se unese druga vrijednost, iznosite napomenu i završite program:

            ") Drugo (upozorenje (" unesite tačan tip "); izlaz;)

          • Inicijalizirajte varijablu kolvo. Vrijednost koju korisnik upiše u modalnom prozoru:
          • var kolvo \u003d brz ("unesite broj predmeta");

          • Za pretvaranje vrijednosti niza na numeričku upotrebu funkcije parseint:
          • za (var i \u003d 1; i<=kolvo; i++) document.write("");

          • Budući da su popisi zatvoreni odgovarajućim oznakama, ovisno o popisu liste, izlažu oznake zatvaranja:
          • If (listtype \u003d\u003d "1") dokument.write ("") Drugo ako (listtype \u003d\u003d" 2 ") dokument.write ("" ) ;

            if (listtype \u003d\u003d "1") dokument.write ("

        ") Drugo ako (listtype \u003d\u003d" 2 ") dokument.write ("
      ");

    1. Ispitajte skriptu u pretraživaču.
    2. JS 3_11 zadatak.
      Napišite skriptu koja prikazuje oznake ulaz(Kontrole) različitih vrsta, ovisno o unesenim figurama:

      1 - tekstualno polje,
      2 - gumb,
      3 - radio.(prekidač).

      Treba tražiti i broj izvedenih oznaka.

      Osvetm oznake:

      Za 1 - Tekstualno polje: Za 2 - dugme: Za 3 - radio:

      Primjer izlaza:

      JS 3_12 zadatak. Nacrtajte šahovsku ploču od 9x9 pomoću JavaScripta za cikluse. "Crtanje" ploča prati HTML oznake za tablicu:

      Osvetm oznake:

      <stočna granica \u003d "1" širina \u003d "30%"\u003e <tr\u003e <tD\u003e-</ TD\u003e -</ TD\u003e </ TR\u003e </ Tabela\u003e

      --

      • Za crtanje 9 linija potrebno je organizovati vanjsku za ciklus sa metrom i.
      • Da biste izvukli 9 ćelija u svakom retku, potrebno je organizovati unutrašnje (ugrađene) za ciklus sa j.
      • Da biste nacrtali oznake i žice, koristite metodu dokumenta.

      Rezultat:

      Uz to:

      1. U ćelijama tablice prikažite tablicu množenja pomoću brojača ciklusa (I i J).
      2. Prvi red i prvi stupac koji se povlači sa crvenom pozadinom (atribut bilijama BGColor tablice):
        <td bgcolor \u003d "crveno"\u003e-</ TD\u003e

        -

      Rezultat:


      Pitanja za samokontrolu:

      1. Objasnite šta znači koncept "dinamičke zgrade stranica"?
      2. Koji se jezični dizajn najčešće koristi prilikom izgradnje stranice?

      Ciklički javascript - dok operateri jezika

      Whele Operator sintaksa:

      dok (stanje) (//..block operatori ..);

      Primjer: Odlaganje u dijaloški okvir 1000 (2, 4, 8 ... 512). Koristite metodu upozorenja ()


      ✍ Rješenje:
      • Skripta liste:
      • 1 2 3 4 5 var a \u003d 1; Dok (A.< 1000 ) { a*= 2 ; alert(a) ; }

        var a \u003d 1; Dok (A.< 1000){ a*=2; alert(a); }

        a * \u003d 2 → Kompozitni postupak dodjele koristi se: proizvod u kombinaciji s dodjelom, I.E. isto kao i \u003d a * 2

      • Ispitajte rezultat u pretraživaču.

      Kako raskinuti i nastaviti operatere rade u vrijeme dok ciklus?

      Primjer:

      var a \u003d 1; Dok (A.< 1000 ) { a*= 2 ; if (a== 64 ) continue ; if (a== 256 ) break ; alert(a) ; }

      var a \u003d 1; Dok (A.< 1000){ a*=2; if (a==64) continue; if (a==256) break; alert(a); }

      Završni stupnjevi će se izlaziti 128 Inclusive i vrednost 64 biće propušteno. Oni. U dijaloškim okvirima ćemo vidjeti: 2 4 8 16 32 128

      JS 3_13 zadatak. Koje će vrijednosti će biti sljedeći fragment koda?

      var counter \u003d 5; Dok (brojač.< 10) { counter++; document.write("Counter " + counter); break; document.write("Эта строка не выполнится."); }


      JS 3_14 zadatak. Napišite građevinski kod h. diplomirati y.Koristeći dok ciklus. Zatražite vrijednosti varijabli i izlažite rezultat koristeći upozorenje ().

      Kompletan kod:

      1 2 3 4 5 6 7 8 9 var x \u003d ...; var y \u003d ...; Counter \u003d 1; chislo \u003d x; Dok (...) (chislo \u003d x * ...; counter \u003d ...;) upozorenje (CHISLO);

      var x \u003d ...; var y \u003d ...; Counter \u003d 1; chislo \u003d x; Dok (...) (chislo \u003d x * ...; counter \u003d ...;) upozorenje (CHISLO);

      Ispravna greška u programu dizajniranom za pronalaženje broja broja:

      1 2 3 4 5 6 7 8 9 10 11 12 13 Var counter \u003d brz ("unesite broj"); var faktor \u003d 1; Dokument.write ( "Faktorijalni brojevi:" + Brojač + "! \u003d"); Učiniti (ako (brojač \u003d\u003d 0) (faktorijski \u003d 1; pauza;) faktorijat \u003d faktor / šalter; brojač \u003d brojač + 1;) dok (brojač\u003e 0); Dokument.write (faktorijal);

      var counter \u003d brz ("unesite broj"); var faktor \u003d 1; Document.write ("Factoryji brojevi:" + brojač + "! \u003d"); Učiniti (ako (brojač \u003d\u003d 0) (faktorijski \u003d 1; pauza;) faktorijat \u003d faktor / šalter; brojač \u003d brojač + 1;) dok (brojač\u003e 0); Dokument.write (faktorijal);


      JS 3_16 zadatak. Izmijenite program o unosu korisničkog imena:

      Zatražite korisničko ime dok korisnik zaista ne uđe u ime (I.E., polje će se zaista popuniti i tipka za otkazivanje ne može se pritisnuti). Kada se unese ime, a zatim izlaz "Zdravo, ime!". Dokument.

      Kako tražiti greške u JavaScript-u?

      U nekim slučajevima, kod na stranici ne radi u nerazumljivom iz kojih razloga. Gdje potražiti grešku? U takvim slučajevima možete primijeniti izjavu pokušaj..catch.

      Pokušaj..catch operater pokušava izvršiti fragment koda, a ako postoji greška u kodu, onda je moguće dati grešku na ekranu.
      Pogreška se pohranjuje u objekt E.Message.

      Razmislite o radu operatera koristeći primjer:

      Primjer: Napišite operatora grešaka u program. Provjerite prisutnost greške u pretpostavljenom pogrešnom kodu: Ako je greška u kodu prisutna - izdati poruku "Obrada greške: naziv greške". Nakon provjere pogrešnog operatera, bez obzira da li postoji greška u kodu, izdati poruku "Završne akcije"


      ✍ Rješenje:
      • Kao poruka s greškom, koristimo prompt () metodu, napisanu greškom - promt (). Poruka o pogrešci priložite u pokušaj:
      • upozorenje ("to"); Pokušajte (Promt ("unesite broj"); // operator s pogreškom)

        Pokušajte sa engleskim. - "Trudite", dakle, probali smo operatera ispred fragmenta koda, što, možda, sadrži grešku (u našem slučaju, zaista postoji greška).

      • Poruka obavijesti o pogrešci trebala bi biti postavljena u bloku za ulov:
      • 6 7 8 9 Uhvatiti (e) (upozorenje ( "Obrada greške:"+ E.message); )

        ulov (e) (upozorenje ("obrada greške:" + e.message);)

        Ako je greška zaista tu, tada se izjava o hvata (sa engleskog. Ulov ") štedi ovu grešku u E objektu. U budućnosti se može prikazati u dijaloškom okviru E.Message.

      • Konačna poruka koja mora biti izlazna bez obzira da li je greška u kodu, stavite ga u napokon blok:
      • konačno (upozorenje ("konačne akcije");) upozorenje ("nakon");

        Ako postoji greška, tada će prevodilac nakon izlaza u našem primjeru ići na izvršenje bloka za hvatanje, a zatim konačno (iz engleskog "završetka", "konačno"), koji će uvijek biti završen, bez obzira na to da li je greška bila ili ne. Čak i ako se greška dogodi u bloku hvatanja.

      Bitan: Konačno blok u dizajnu nije obavezan.


      JS 3_17 zadatak. Izvršite gore opisano primer sa sledećim modifikacijama:

    3. Uklonite napokon blok i slijedite izvršenje koda.
    4. Stavite umjesto pogrešnog operatera nepogrešivog i pogledajte koji će rezultat biti.
    5. Sažetak:

      Lekcija je opisala sljedeće javaScript jezike i dizajne:

      JavaScript Uvjetni operatori:

    6. Ako operator
    7. Uslovni zadatak (ternarni operater)
    8. Operator prekidača prekidača
    9. Operatori ciklusa:

    10. Ciklus za
    11. Dok se ciklus
    12. Ciklus ... Dok
    13. Ciklus za ... u
    14. Završni zadatak JS 3_18.
      Kreirajte igru \u200b\u200bza dvoje:

      1. Program traži da prvi igrač unese broj iz 1 prije 100 (Drugi igrač ne vidi uneseni broj). Drugi igrač traži pogoditi uneseni broj. Prikazuje se poruka u odgovoru. "Nekoliko" ili "Lot" Ovisno o unesenom odgovoru. Ako igrač nagađa, prikazuje se čestitka. Ako ne pogađate - igra se nastavlja (dok se broj ne nagađa).
      2. Izračunajte broj pokušaja i dajte rezultat kada se broj riješi.


      Pitanja za samokontrolu:

      1. U kojim slučajevima je preporučljivo koristiti za ciklus? Navedite primjer njegove upotrebe.
      2. Koja je svrha pokušaja..Catch izjava?
      3. Objasnite zadatak svakog pokušaja operatera operatera.
      Sadržaj

      JavaScript podržava kompaktan skup operatera koji se mogu koristiti za stvaranje interaktivnih web stranica. Ovo poglavlje daje pregled ovih operatera.

      Ovo poglavlje ima sledeće odeljke koji pružaju kratak pregled svakog operatera:

      • Blok operatora: { }
      • Uslovni operatori: ako ... drugo i prebaciti
      • Operatori ciklusa: jer, dok, uradite ... dok, naljepnica, pauk i nastavite (naljepnica Sama po sebi nije ciklus, već se često koristi sa navedenim operaterima)
      • Operatori manipulacije sa objektima: za ... u i sa.
      • Komentari
      • Operatori za rukovanje izuzetkom: pokušaj ... uhvatiti. i bacanje
      Bilo koji izraz je i operator. Pogledajte poglavlje 3 u odjeljku "Izraz i operacije" pune informacije o operacijama.

      Upotrijebite simbol prekidača (;) za odvajanje operatera u JavaScript kodu.

      Pogledajte javaScript Core Book. Imenik. Pojedinosti o operaterima iz ovog poglavlja.

      1. Blok operatora

      Operatorska jedinica koristi se za grupne operatere. Blok je ograničen na figuredne zagrade:

      (Izjava1 Izjava2 ... Izjava)

      2. Uslovni operatori

      Uvjetni operator je skup naredbi koje se izvršavaju ako je navedeno stanje - tačno.. JavaScript podržava dva uslovnu operatere: ako ... drugo i prebaciti.

      2.1. Ako ... drug drugog operatera

      Ovaj operator se koristi za obavljanje određenih operatera ako je logično stanje tačno.; Koristite opcionalni blok drugo. obavljati druge operatore ako je stanje lažan. Ako operater izgleda ovako:

      ako (stanje) [drugo (država2)]

      Stanje može biti bilo koji javascript izraz izračunat u tačno. ili lažan. Izvršeni operatori mogu biti bilo koji JavaScript operateri, uključujući ugniježđene operatere ako. Ako trebate izvesti više operatora nakon operatora ako ili drugo.Morate zaključiti ove operatere izvedene u kovrčavim nosačima ().

      Ne morate koristiti jednostavne zadatke u uvjetnom operatoru. Na primjer, ne koristite ovaj kod:

      Ako trebate koristiti zadatak u uvjetnom operatoru, unesite dodatne nosače oko operacije dodjele. Na primjer, ako ((x \u003d y)).

      Ne brkajte primitivno Boolean.-Neći tačno. i lažan Sa vrijednostima tačno. i lažan Objekt Boolean.. Bilo koji objekt čija vrijednost nije nedefinirano., null, nula., ** Nan ** ili prazan niz, uključujući objekt Boolean. sa značenjem lažan, izračunato u tačno.Kada se prenosi na uvjetnog operatera. Na primjer:

      var B \u003d novi boolean (lažno); ako (b) // Ovo stanje se izračunava u TRUE

      Primer.

      U ovom primjeru, funkcija checkData. Vraća se tačno.Ako je broj znakova u Tekst.- ACK jednak tri; Inače, prikazuje upozorenje i povrat lažan.

      funkcija CheckData () (ako (dokument. Oblik1. Thelf. Vrijednost. Dužina \u003d\u003d 3) (povratak istinito) drugo (upozorenje (" Unesite tačno tri Characksera."+ Dokument. Obrazac1. Threeclar. Vrijednost +" nije važeća. ") Povratak lažno))

      2.2. Prekidač

      Operator prebaciti Omogućuje programu izračunavanje izraza i pokušava uporediti vrijednost vrijednosti izražavanja u oznaci predmeta. Ako se pronađe slučajnost, program obavlja pridruženi operator. Operator prebaciti izgleda tako:

      prekidač (izraz) (naljepnica u slučaju: Izjava; Break; Etiketa slučaja: Izjava; Break; ... Default: Izjava;)

      Program traži prvo naljepnicaslučajnost izrazA zatim obavlja povezanu izjavu / operator. Ako slučajnost naljepnica Nije pronađeno, program traži fakultativno zadano. izjava/ Zadana izjava i ako se nađe, obavlja pridruženi operator. Ako a zadano. izjava Nije pronađen, program nastavlja da operator obavlja nakon završetka operatera prebaciti.

      Neobavezni operator prekršitiposteljina slučaj. naljepnica, osigurava da će program prekinuti izvršenje operatera prebacitiČim se utvrdi slučajnost, i nastavit će se izlagati od operatera koji ide nakon operatera prebaciti. Ako a prekršiti Odsutni, program nastavlja da obavlja sljedeći operator unutar operatera prebaciti.

      Primer.

      Evo ako expr Izračunava se u "bananama", program pronalazi slučajnost sa slučajem "bananas" i obavlja pridruženi operator. Ako se otkrije pauza, program prekida prebaciti i izvršava operatera nakon bloka operatera prebaciti. Ako a prekršiti odsutan, operater u slučaj. "Trešnje" će se takođe izvršiti.

      prekidač (EXPR) (Slučaj "Narandže": dokument. Pišite (" Narandže su 0,59 dolara funta.
      "); Pauza; Slučaj" jabuke ": dokument. Pisanje (" jabuke su 0,32 dolara funta.
      "); Pauza; slučaj" bananas ": dokument. Pisanje (" Banane su 0,48 dolara funta.
      "); Prekid; futrole" trešnje ": dokument. Pisanje (" Trešnje su 3,00 dolara funta.
      "); Prekid; zadano: dokument. Pišite (" Izvinite, mi smo izvan "+ i + +".
      ");) Dokument. Pisanje (" Imaš li još nešto što "voliš?
      " ) ;

      3. Biciklistički operateri

      Ciklus / petlja. Ovo je skup operatera, koji se izvrši nekoliko puta, dok je navedeno stanje. JavaScript podržava cikličke operatere za, uradi ... dok i dok, kao i naljepnica (naljepnica Sama po sebi nije ciklus operatera, već se često koristi sa navedenim operaterima). Pored toga, možete koristiti operatere prekršiti i nastavite. Unutar ciklusa operatera.

      Još jedan ciklus, za ... uTakođer izvode svoje operatere ciklično, ali nekada se radi sa predmetima. Pogledajte operatere rukovaoca za manipulaciju.

      3.1. Operator za

      Ciklus za ponavlja se sve dok je određena vrijednost lažan. JavaScript ciklus za Izgleda kao ciklusi za Java i C. operator za izgleda tako:

      za ([inicijaliexpression]; [stanje]; [infrenkExpression]) (države)

      Kada ciklus za Izvedeno, događa se:

      1. Inicijaliziranje izražavanja pokretačAko se na raspolaganju izvodi. Ovaj izraz obično inicijalizira jedan ili više brojača ciklusa, a sintaksa omogućava izraze bilo koje složenosti. Ovaj izraz može takođe proglasiti varijable.


      2. Stanje / uslovno izražavanje izračunava se. Ako je vrijednost stanje - TRUE., Izvršene su izjave / ciklusi operatori. Ako je vrijednost stanje - FALSE, ciklus za prestaje raditi. Ako izraz stanje. Potpuno odsutno, pretpostavlja se da stanje - TRUE.


      3. izvesti izjave.


      4. Nadogradnja izražavanja infrencexpression.Ako su dostupni, izvršeni i kontrolirani povratak na korak 2.


      Primer.

      Ova značajka sadrži operatera zakoja broji broj odabranih opcija na popisu za pomicanje (objekt Odabratiomogućava vam da odaberete nekoliko pozicija). Operator za Najavljuje varijablu i. I inicijalizira ga na nulu. On provjerava manje i. Opcije objekta Odabrati, izvršava operatera ako I priraštaj varijable i. po jedinici nakon svakog prolaska ciklusa.

      Odaberite neke vrste muzike, a zatim kliknite donji gumb:

      "Upozorenje (" Broj odabranih opcija: "+ Howmany (dokument.SelectForm.Mustictips))">

      3.2. Operator ... Dok

      Operator uradi ... dok ponovljeno dok su navedeni izraz - fALSE. Operator uradi ... dok izgleda tako:

      dO (izjava) dok (stanje)

      izjava Izveden jednom prije provjere stanja / uvjeta. Ako a stanje - TRUE.Operator se ponovo izvrši. Na kraju svakog izvršenja stanje. Provjereno. Ako a stanje - FALSEIzvršenje se zaustavlja i kontrola se prenosi operateru nakon uradi ... dok.

      Primjer.

      U ovom primjeru ciklusa učiniti. Predmet barem jednom i ponavljate iteracije dok i. manje 5 .

      do (i + \u003d 1; dokument. Pisanje (i);) dok (i< 5 ) ;

      3.3. Operater kotača

      Operator dok izvodi svoje operatere dok je navedeno stanje / stanje - tačno.. Operator dok izgleda tako:

      dok (stanje)

      Ako a stanje. postaje lažanOperatori unutar ciklusa zaustavljaju se i kontrola se prenosi operateru sljedeći nakon ciklusa.

      Uslovi: Uvjeti / uvjet se javljaju prije nego što su operatori ispunjeni u ciklusu. Ako a stanje. Vraća se tačno., operatori se izvršavaju i stanje. Ponovo provjerio. Ako se stanje vraća lažanIzvršenje stajališta ciklusa i kontrola se prenosi operateru da krene nakon operatera dok.

      Primjer 1.

      Ovaj ciklus dok Predmeti, do sada n. manje 3 :

      n \u003d 0; x \u003d 0; Dok (N.< 3 ) { n ++; x += n ; }

      Sa svakom iteracijom se povećava ciklus n. i dodaje ovu vrijednost varijabli x.. Otuda, x. i n. Uzmite sljedeće vrijednosti:

      • Nakon prvog odlomka: n \u003d 1 i x \u003d 1
      • Nakon drugog odlomka: n \u003d 2 i x \u003d 3
      • Nakon trećeg odlomka: n \u003d 3 i x \u003d 6
      Nakon završetka tri prolaza ciklusa, stanje. n.< 3 Više nije istinito, tako da je izvršenje ciklusa prekinut.

      Primjer 2: Beskonačni ciklus.

      Provjerite je li stanje ciklusa jednog dana lažan; Inače, ciklus nikada neće prekinuti. Operatori sljedećeg ciklusa dok vrše se beskonačno jer stanje nikada neće biti lažan:

      dok (istina) (upozorenje ("Zdravo, svijet"))

      3.4. Operator etiketa

      Operator naljepnica To je identifikator na koji se možete odnositi na bilo koje mjesto programa. Na primjer, možete koristiti naljepnica Da biste identificirali ciklus, a zatim koristite operatere prekršiti ili nastavite. Za prekid ciklusa ili nastavak izvršenja.

      Operator sintakse naljepnica izgleda tako:

      oznaka: Izjava

      Smisao naljepnica Možda postoji bilo koji vjerni javascript identifikator koji nije rezervirana riječ. Operator / izjava koja se može prepoznati sa naljepnicaMože biti bilo koji operater.

      Primjer.

      U ovom primjeru naljepnica markloop. Identificira ciklus dok.

      markloop: Dok (Themark \u003d\u003d True) Dotomething (); )

      3.5. Prekid operatera

      Koristite operatera prekršiti Za prekid ciklusa prebaciti ili operator označen naljepnica.
      • Ako koristite prekršiti bez naljepnica, on odmah prekida najbliže dok, do-dok, za ili prebaciti i prenosi kontrolu na sljedeći operater.
      • Ako koristite prekršiti od naljepnica, Prekida navedeni označeni operater.
      Operator sintakse prekršiti Takav:

      jedan. Pauza 2. Naljepnica

      Prva opcija prekida najbliži ciklus koji sadrži ili prebaciti; Druga opcija prekida navedeni operater koji ima naljepnicu.

      Primer.

      Itteration se izvodi na elementima niza dok se indeks elemenata ne nađe s vrijednošću vrijednost.:

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

      3.6. Nastavite operatoru

      Operator nastavite. Koristi se za ponovno pokretanje operatora dok, do-dok, za i naljepnica.
      • Ako koristite nastavite. bez naljepnica, prekida trenutnu iteraciju najbližeg ciklusa dok, dok ili za I nastavlja da izvodi ovaj ciklus sa sledećom iteracijom. Za razliku od operatera pauza, nastavite. Ne prekida izvršenje ciklusa u potpunosti. U ciklusu dok On nastavlja stanje.. U ciklusu na povećanje izražavanja.
      • Ako koristite nastavite sa naljepnica, odnosi se na operator ciklusa koji je identificirao ovo naljepnica.
      Operator sintakse nastavite. Takav:

      jedan. Nastavite 2. Nastavite naljepljivanje

      Primjer 1.

      Ovo je primjer ciklusa dok sa operatorom nastavite.koji se izvodi ako je vrijednost i. jednako 3 . Na ovaj način, n. Dobiva 1, 3, 7 i 12 vrijednosti.

      i \u003d 0; n \u003d 0; Dok (I.< 5 ) { i ++; if (i == 3 ) continue ; n += i ; }

      Primer 2.

      Operator je označen kao checkeiandj., sadrži operatera označen kao Ček.. Ako je otkriven nastavite., Program prekida trenutnu iteraciju Ček. I započinje sljedeću iteraciju. Svaki put se nastavi otkriven, Ček. ponovo započinje iteraciju dok se njegov stal ne vrati lažan. Ako se vrati lažan, obavlja preostali dio operatera checkeiandj. i checkeiandj. Zahtijeva dok njegovo stanje ne vrati lažno. Ako se vrati lažan, Program se i dalje izvrši iz operatera pored checkeiandj..

      Ako nastavi ima naljepnica za checkeiandj., Program će se i dalje izvoditi od početka operatera checkeiandj..

      checquiandj: dok (i< 4 ) { document . write (i + "
      "); i + \u003d 1; checkj: dok (J\u003e 4) (dokument. Pisanje (J +")
      "); J - \u003d 1; ako ((J% 2) \u003d\u003d 0) Nastavite ček; dokument. Pisanje (J +" je neparan.
      ");) Dokument. Pišite (" i \u003d "+ i +"
      "); Dokument. Pišite (" J \u003d "+ J +"
      " ) ; }

      4. Operativni objekti za manipulaciju operatora

      JavaScript koristi operatere za ... u i sa. Za manipuliranje objekata.

      4.1. Operator za ... In

      Operator za ... u Izgrađuje navedenu varijablu u svim svojstvima objekta. Za svaku postignutu nekretninu JavaScript izvodi određene operatere. Operator za ... u izgleda tako:

      Za (varijablu u objektu) (

      Primer.

      Ova značajka uzima ime objekta i objekta kao argument. Tada ga karakteriziraju sva svojstva ovog objekta i vraća niz - popis svojstava i njihovih vrijednosti.

      funkcija Dump_Props (obj, obj_name) (var rezultat \u003d ""; za (var i u obj) (rezultat + \u003d obj_name + "." + I + "\u003d" + obj [i] + "
      ") Rezultat + \u003d"


      "; Povratni rezultat;)

      Za objekt auto Sa nekretninama napraviti i model Rezultat će biti takav:

      automobil. Make \u003d ford auto. Model \u003d Mustang.

      4.2. Operator sa

      Operator sa. Postavlja zadani objekt za skup operatera bloka. JavaScript pregleda nekvalificirana imena unutar bloka operatera i određuje da li su imena zadana svojstva objekata. Ako je nekvalificirano ime imanja, ova nekretnina se koristi u operateru; Inače se koristi lokalna ili globalna varijabla.

      Operator izgleda ovako:

      sa (objektom) (države)

      Primer.

      Evo operatera sa. Određuje da je objekt Matematika. To je zadani objekt. Operateri nakon operatera odnose se na nekretninu Pi i na metode jer. i grijeh. Bez navođenja objekta. JavaScript prihvaća objekt Matematika. Kao objekt za ove žalbe.

      var A, X, Y ;; var r \u003d 10 sa (matematikom) (a \u003d pi * r * r; x \u003d r * cos (pi); y \u003d r * grijeh (PI 2);)

      Bilješka:

      Korištenje operatera može značajno usporiti izvršenje programa.

      5. Komentari

      Komentari obično objašnjavaju radnje koje se izvode kod koda. Komentari ignoriraju prevodilac. JavaScript podržava Java i C ++ komentare:
      • Jednoredni komentar s dvostrukim kosanjem na početku linije (//).
      • Višenamjenski komentar sa simbolima / * na početku i sa simbolima * / na kraju.
      Primjer.

      Evo primjera dva komentara:

      // Ovo je jednoredni komentar. / * I ovo je višenamjenski. Može biti bilo koje dužine, a možete sve staviti ovdje bilo gdje. * /

      6. Operatori za obradu izvršenja

      Možete izazvati izuzetak od operatera bacanje i rukovati ga od strane operatora pokušaj ... uhvatiti..

      Operator pokušaj ... uhvatiti. Takođe se koristi za rukovanje izuzecima Jave. Pogledajte "Proces iznimka Java u Javascript" i "JavaScript obradu izuzetaka u Javi".

      6.1. Bacanje operatera

      Operator bacanje Koristi se za poziv izuzeće. Ako nazovete izuzetak, odredite izraz koji sadrži vrijednost izuzetka:

      bacanje izražavanja

      Sljedeći kôd uzrokuje nekoliko izuzetaka.

      bacanje "Error2"; // generira izuzetak sa nizombaci 42; // generira izuzetak sa vrijednošću 42bacanje istinito; // generira izuzetak sa istinitim

      Kada nazovete izuzetak, možete odrediti objekt. Tada možete nazvati svojstva objekta u bloku. uhvatiti. Sljedeći primjer stvara objekt myUserexception Vrsta UseRexception i koristi ga u operateru bacanje.

      // Kreirajte vrstu objekta UseRexceptionfunkcija UseRexception (ovo. Poruka \u003d \u200b\u200bporuka; ovo. Ime \u003d "UseRexception";) // stvoriti instancu objektamyUserexception \u003d Nova upotrebaException ("Vrijednost previsoka"); Baci miuserexception;

      6.2. Pokušajte ... uhvatiti operatera

      Operator pokušaj ... uhvatiti. Označava blok operatera, pokušavajući ih izvršiti i odrediti jednu ili više mogućnosti odgovora kada se dogodi izuzetak. Ako se iznimka dogodio, operator pokušaj ... uhvatiti. brine ga.

      Operator pokušaj ... uhvatiti. Sastoji se od bloka probaj.koji sadrži jedan ili više operatera, nula ili više blokova uhvatitikoji sadrže operatere koji određuju akcije prilikom pozivanja izuzeća u bloku probaj.. To jest, ako želite izvršiti blok probaj. I ne izvršava se, prenosite kontrolu na blok uhvatiti. Ako bilo koji blok operater probaj. (ili funkciju operatera uzrokovana iz bloka probaj.) Izaziva izuzetak, uprava se odmah prenosi na blok. uhvatiti. Ako izuzetak nije uzrokovan, blok uhvatiti preskočio. Blok napokon. Izveden nakon blokiranja probaj. i uhvatitiali prije izvođenja operatera koji ide nakon bloka operatera pokušaj ... uhvatiti..

      Sljedeći primjer koristi operatera pokušaj ... uhvatiti.. Naziva se funkcija koja zahtijeva ime mjeseca iz niza na temelju vrijednosti koja se prenosi funkcijama. Ako vrijednost ne odgovara broju mjeseca (1-12), izuzetak je uzrokovano vrijednosti "InvalidMonthno" Blok operatori uhvatiti Podesite varijablu B. monhname. vrijednost "Nepoznato".

      funkcija Getmonthname (MO) (MO \u003d MO - 1; // pročistiti broj mjeseca na indeksu niza (1 \u003d januar, 12 \u003d dec)var mjeseci \u003d Novi niz ("Jan", "FEB", "MAR", "APR", "," JUL "," SEP "," Oct ",", ". "Dec"); Ako (mjeseci [MO]! \u003d Null) (povratni mjeseci [MO]) drugo (bacite "invalidymonthno") pokušajte ( // pokušaj izvršenja ovih operatera:mjesecName \u003d GetmontthName (Mymonth) // funkcija može izazvati izuzetak) Uhvatiti (e) (mjesečni ime \u003d "nepoznati" logMyErrors (e) // objekt koji je izazvao izuzetak prenosi rukovatelj iznimka}

      bacanje; Ovaj identifikator možete koristiti za dobivanje informacija o pomeđenim. JavaScript stvara ovaj identifikator prilikom ulaska u blok uhvatiti; Identifikator postoji samo tokom perioda izvršenja uhvatiti; Nakon završetka izvršenja bloka uhvatiti Identifikator više nije dostupan.

      Na primjer, sljedeći kôd uzrokuje izuzetak. Ako se dogodi izuzetak, kontrola se prenosi na blok uhvatiti.

      probaj (bacanje "MyeException" // generira se izuzetak) Uhvatiti (e) (e) ( // operatori za obradu bilo kojeg iznimkalogMyErrors (E) // Izuzetak se prenosi na rukovatelj grešaka}

      Višestruki blokovi hvatanja

      Jedinstveni operater probaj. Može sadržavati nekoliko uvjetnih blokova uhvatitiSvaki od kojih procesuje određenu vrstu izuzeća. U ovom slučaju, ulaz u odgovarajući uvjetni blok uhvatiti Izvodi se samo prilikom pozivanja izuzeće navedenog za ovaj blok. Takođe možete odabrati da biste omogućili zasebnu jedinicu. uhvatiti Za sve nepriznate iznimke kao završni blok uhvatiti u operateru.

      Na primjer, sljedeća funkcija uzrokuje tri druge funkcije (proglašene drugdje) koje provjeravaju svoje argumente. Ako funkcija ispitivanja odredi da je komponenta koja se provjerava pogrešna, vraća se 0, prisiljavajući funkciju poziva da pozove određenu iznimku.

      funkcija Getcustinfo (Ime, ID, E-pošta) (Var N, I, E; ako (! Validate_name (naziv)) Baci "InvalidamaMeexception" else n \u003d imena; ako je "nevaljnoeksida" ; ako (! validate_email (e-pošta)) Bacite "InvalidEmailexception" else e \u003d e-mail; cust \u003d (n + "+ i +" "+ e); povratak (cust);)

      Uslovni blokovi uhvatiti Upravljajte pozivom na odgovarajući rukovatelj iznimka.
      " ) { // naziva rukovoditelja netačnih ID-ova / identifikatorabad_id_handler (e)) ulov (e ako je e \u003d\u003d "invalidEmailexception") ( // uzrokuje rukovanje netačnim adresama e-poštebad_email_handler (e)) ulov (e) ( // nefancijalna iznimka zabilježena je u datoteci dnevnikalogerError (E))

      Konačno jedinica

      Napokon blok sadrži operatere izvedene nakon blokiranja probaj. i uhvatiti, ali prije nego što izvršite operatore nakon operatera pokušaj ... uhvatiti.. Blok napokon. Izvodi se bez obzira da li je izazvan izuzetak. Ako se iznimka naziva, blok operatori napokon. izvode se čak i ako nema bloka uhvatiti nije nastavio izuzetak.

      Možete koristiti blok napokon. Za pravilan završetak skripte kada se dogodi izuzetak; Na primjer, možda ćete trebati osloboditi resurs koji je povezan sa skriptom. U sljedećem primjeru, datoteka se otvara i operateri rade s IT-om (poslužitelj JavaScript vam omogućava pristup datotekama). Ako se iznimka naziva otvorenom datotekom, blok napokon. Zatvara datoteku prije nego što skripta ne uspije.

      openMyfile (); Pokušajte (writemyfile (Themeda)) napokon (clotemyfile () // resurs se uvijek zatvara}

      Umetanje operatora pokušajte ... Uhvatite

      Možete investirati jedan ili više operatera. pokušaj ... uhvatiti. jedan drugog. Ako je interni operater pokušaj ... uhvatiti. Nema bloka uhvatitiSlučajnost je provjerena blok uhvatiti Sadrži IT operator pokušaj ... uhvatiti.