Kifejezések és üzemeltetők. A JavaScript operátorok megjelölik a megjelölést

Először röviden a JavaScript kifejezésekről.

JavaScript kifejezések

A JavaScriptben vannak utasítások és kifejezések.

Az utasítások nem térnek vissza az értékeket.

Kifejezések mindig Adjon meg néhány értéket. Amikor az interpreter látja a kifejezést, kiszámítja annak értékét és helyettesíti a kifejezést az értékével.

A kifejezések egyszerűek és összetettek. Az egyszerű kifejezések nem tartalmaznak más kifejezéseket.

Egyszerű kifejezések a következők:

  1. Azonosítók: valaháló (változó neve);
  2. Literálok: "string" vagy 675 (szám vagy numerikus szó szerinti);
  3. Néhány kulcsszó, például ez;

Amikor az elemző észleli az azonosítót, először ki kell számolni, vagyis a változó nevét az értékével helyettesíti.

A szó szerinti érték a szkript kódban van.

Operátorok és komplex JavaScript kifejezések

Egy komplex operátorok egy egyszerű kifejezését kombinálva használjuk.

Az üzemeltetők:

  • Unary (egy operand).
  • Bináris (két operand).
  • Terner operátor? A JavaScript (három operandus, csak egy Ternary operátor).

Az operand egy egyszerű kifejezés, amelyre az üzemeltetőt alkalmazzák.

Például a "+" aritmetikai adagolókészülék bináris operátor. Összefoglalja a bal és a jobb operandust, és visszaadja az összeget.

VAR DIGIT \u003d 4 + 7;

By the way, a hozzárendelés a hozzárendelési operátor "\u003d". Ez az operátor kiszámítja a jobb operandus értékét, és hozzárendeli a bal operandushoz.

A JavaScript rendelkezik egy UNARY plus, csak egy operandus van. Az UNARY Plus nem aritmetikai szolgáltató, átalakítja az operandot a számra.

Var myvar \u003d "7"; Document.write (TypeF (Myvar) + "
"); // a Myvar \u003d + Myvar dokumentum karakterláncban; Document.Write (TypeF (Myvar) +"
"); // Nyomtatás a dokumentumszámban

Először is, a Myvar változó tartalmazta a "7" karakterláncot, ez egy szó szerinti vonaltípus (karakterlánc), és nem numerikus (szám). Az üzemeltető segítségével az UNARY PLUS a numerikus karakterláncot átalakítottuk.

Számtani műveletek

Az aritmetikai műveletek mind ismeretes matematikai intézkedések.

Talán az üzemeltető% (a divízió egyenlege) magyarázatot igényel. A 9. ábra az 5-ös maradékkal oszlik meg, ez az egyensúly, amely visszaadja ezt az üzemeltetőt. Azt is nevezik, hogy a modul. Az egész számok használatakor az üzemeltető működésének eredménye is egész szám. Ha lebegőpontos számokkal működik, az eredmény lebegőpontos szám lesz.

5.5 % 2.2 = 1.1

Az aritmetikai műveletekben emlékezni kell arra, hogy helytelen végrehajtás esetén az eredményeket eredményezhetik:

  • Nan (nem szám) nem szám.
  • Infinity - Infinity.

Ez az, ami vezeti a megosztást nullára:

Var myvar \u003d 0/0; Document.Write ("Változó érték:" + Myvar + ", annak típusa:" + típusú (myvar) + "
");

Az összehasonlítás műveletei

Az összehasonlítási műveletek a kifejezések összehasonlítására szolgálnak. A feltételes kezelővel rendelkező kifejezés logikai értéket ad vissza - igazság vagy hamis (igaz / hamis).

A műveletek összehasonlítása vonalakkal történhet, ezt egy másik leckében fogják megvitatni. A helyes eredmény egyetlen feltétele az azonos típusú adatok összehasonlítása. Ellenkező esetben a Javascript megpróbálja lefordítani az adatokat az egyik típusról a másikra, és ez nem mindig lehetséges. A hibák elkerülése érdekében csak egy típusú adatokat hasonlítsa össze.

Megbízási műveletek

A hozzárendelési művelet legnyilvánvalóbb példája egyszerű hozzárendelés (\u003d). Ez a kezelő (\u003d) a változó értékének rendelésére szolgál.

De vannak még néhány megbízási művelet, amelyek rövidítések.

Logikai műveletek

A logikai műveleteket gyakran használják, ha JS-ben tervezik. Ez a terv példái, hogy munkájukat meg fogják mutatni. De először a logikai szereplők listáját.

Most egyszerű példák:

Ha (True && True) dokumentum.Write ("Ez működik!
"); ha (True || hamis) dokumentum.Write (" működik!
"); ha (! FALSE) dokumentum.Write (" működik!
");

Elemezzük ezeket a példákat:

A logikai és (& &&) operátor visszatér, ha mindkét operand igazság.

A nyilatkozat logikus, vagy (||) visszaadja az igazságot, ha legalább egy operand igaz.

A kijelentés nem logikus (!) Egy operandot vesz igénybe, és megváltoztatja az igazság értékét / az ellenkezőjét.

UNARY operátorok

Az UNARY operátorok egy operandus üzemeltetők. Íme néhány ilyen üzemeltető:

  • ++ - 1-re növekszik (növekmény). Lehet, hogy előtag és postfix, az alábbiakban.
  • - - az 1-es csökkentés (csökkenés). Lehet, hogy van egy előtag és a postfix, amely az alábbiakban túl van.
  • + - UNARY PLUS.
  • - - UNARY MINUS.

Unary mínusz

Unary mínusz megváltoztatja az ellenkező kifejezés jelét. Például, amikor a -100 programban írja, egyszerűen csak 100 mínusz a számszerű literálra alkalmazza.

Meg kell értened, hogy pontosan meg kell értened, hogy az UNARY MINUS működik - az operandus értékét az ellenkező jelzéssel visszaadja. Itt van egy példa, hogyan kell használni az UNARY mínusz:

Var myvar \u003d -100; Document.Write (-Myvar + "- unary mínusz dolgozott, de a változó is \u003d" + Myvar + ".
"); Myvar \u003d -myvar; dokumentum.Write (" Most a változó \u003d "+ Myvar +".
");

Elengedhetetlen példát adunk egy kettős unary mínuszra. Úgy gondolom, oktatási célokra hasznos lesz:

Var myvar \u003d -100; Document.Write (- Myvar + "egy növekedés, és nem kettős unary mínusz.
"); Document.Write (" Most a változó \u003d "+ Myvar +".
"); Document.Write (- (- Myvar) +", és ez egy kettős alkalmazás egy unary mínusz.
");

Unary plus

Az UNARY Plus nem tesz matematikai műveleteket. Literálot vezet a numerikus típusra.

Var myvar \u003d "78687"; Dokumentum.WRITE (típus (Myvar) +.
"); Myvar \u003d + Myvar; Document.Write (TypeF (Myvar) +.
");

Növekedés és csökkenés

A programozás során gyakran szükség van az egységenkénti változó értékének növelése vagy csökkentése. Ehhez hivatali üzemek:

  • ++ - 1-re növekszik (növekmény).
  • - - az 1-es csökkentés (csökkenés).

Az UNARY PLUS-hez és a mínusz ellentétben a növekmény és a csökkenés megváltoztatja a változó értékét a hívás során.

Var myvar \u003d 10; Dokumentum.Write (++ Myvar +.
"); Document.Write (Myvar +.
");

A csökkenés (-) hasonlóan érvényes.

Most tekintse meg ezeknek az üzemeltetőknek az előtagot és a postfix használatát.

  • ++ Myvar - előtag növelése 1.
  • myvar ++ - Postfix növekedés 1.

A különbség:

  • Ezeknek az operátoroknak az előtagja először kiszámítja az UNARY operátor értékét, majd az eredményt a kifejezés eredményt használja.
  • A Postfix Használat először kiszámítja a kifejezést, majd végrehajt egy UNARY operátort (++ vagy -).

Ez segít megérteni egy egyszerű példát:

Var myvar \u003d 10; Dokumentum.WRITE ((++ MYVAR + 5) + ".

"); var myvar \u003d 10; dokumentum.Write ((Myvar ++ + 5) +".
"); Dokumentum.Write (" változó \u003d "+ myvar +".
");

A növekedés és a csökkenés csak változókkal használható, lehetetlenné válik őket numerikus szó szerinti literálokra. Egyszerűen tegye a kódot ++ 7 DAS hibát a szkriptben.

Egyéb operátorok

JavaScriptben vannak más szereplők:

  • Ternerary (három operandus) operátor

var a \u003d 10; Var b \u003d (A\u003e 1)? 100: 200; Riasztás (b);

Ha feltétel a\u003e 1. Igaz, majd változó b. Érték hozzárendelése 100 Ellenkező esetben a B változó hozzárendelje az értéket 200 .

JS 3_4 feladat. A kód kiegészítéséhez: 3 A helyi változókat a VAR kulcsszó segítségével hirdetik. Szükséges a következő terner nyilatkozat értékét a Max változóban: Ha A nagyobb, mint B, akkor térjen vissza, különben visszatérünk b.
Kódfragmens:

ha (A * B< 6) { result = "Мало"; } else { result = "Много"; }


Az önellenőrzés kérdései:

  1. Mi a Ternary operátor szintaxisa?
  2. Hány argumentum van egy terner operátorral?

Kapcsoló kezelő JavaScript - kapcsoló

A kapcsoló JavaScript-üzemeltető a változó különböző értékek ellenőrzésére szolgál:

Szintaxis:

kapcsoló (változó vagy kifejezés) (1. esetEklõl: //..block operátorok .. szünet eset opció2: //..block operátorok .. törés alapértelmezett: //..block operátorok ..)

A változó vagy kifejezés értéke ellenőrizhető: mindegyikben Ügy. Az egyik értéket ellenőrizzük, megfelelő érték esetén, az egyik vagy egy másik operátor blokkja, amely megfelel ennek Ügy..

A szolgáltatási szó alapértelmezett blokkját el lehet hagyni. A blokkkezelők akkor kerülnek végrehajtásra, ha a felsorolt \u200b\u200bértékek egyike sem Ügy. Nem megfelelő.

Fontos: A szünetelõszolgáltató szükséges, miután a figyelembe vett változó érték (mindegyik után) Ügy.); Ha nem használja, akkor az alábbi összes operátor jelenik meg.

Hasonlítsa össze az üzemeltetőt Ha.:

var a \u003d 2; Kapcsoló (a) (0: // eset, ha (a \u003d\u003d\u003d 0) 1. eset: //, ha (a \u003d\u003d\u003d 0) riasztás ("nulla vagy egy"); //, akkor ... szünetet tartunk; 2. eset: // Ha (A \u003d\u003d\u003d 2) riasztás ("két"); //, akkor megteszünk ... törés; alapértelmezett: // más figyelmeztetés ("sok"); // különben megteszünk ... )

Hogyan csoportosítsunk több lehetőséget?

Ugyanazon operátorok teljesítéséhez több csoportosítása Ügy.. Mint a fenti példában:

0 eset: 1. eset: riasztás ("nulla vagy egy"); Szünet; ...

A \u003d 0 és A \u003d 1 esetén ugyanazt az üzemeltetőt hajtják végre: riasztás ("nulla vagy egy");

4. példa: Küldje el a felhasználót a szín megadásához. A fordítás angol bemenetre. Színárnyalat "kék" és "kék" Küldje el ugyanazt az értéket.


✍ Megoldás:
  • Hozzon létre egy weboldalt HTML csontvázzal és címkével forgatókönyv..
  • Inicializálja a változót szín
  • var Color \u003d Prompt ("Milyen színű?");

    var Color \u003d Prompt ("Milyen színű?");

  • Ellenőrizze a változó értékét a tervezéssel switsh.Az egyes értékek megjelenítésével - a megfelelő fordítás:
  • kapcsoló (színes) ("piros": riasztás ("piros"); szünet; tok "zöld": riasztás ("zöld"); szünet; // ...

    Ha a változó szína "piros" jelentése van, majd átadja a fordítást a modális ablakba - "piros", és kilép a tervezéshez (szünet;). Ha a változó szín A "zöld" jelentése a modális ablakban - "zöld", és lépjen ki a design (szünet;).

  • Virágokért "kék" és "kék" Csoportosítása:
  • // ... "kék": "kék": riasztás (kék "); Szünet; // ...

    Ha a változó szína "kék" vagy változó jelentése van szína "kék" jelentése van, majd megjeleníti a fordítást a modális ablakba - "kék", és lépjen ki a tervezéshez (szünet;).

  • Szervezze meg azokat a színek kimenetét, amelyeket a program nem biztosít:
  • // ... alapértelmezett: riasztás ( "Nincs információnk ezen a színen") // A kapcsoló vége

    // ... alapértelmezett: riasztás ("Y Nincs információ a színről")) // a kapcsoló vége

  • Tesztszkript a böngészőben.

JS 3_6 feladat. Keresse meg és javítsa ki a hibákat a következő kódfragmensben:

14 15 16 17 Var szám \u003d gyors ( "Adja meg az 1. vagy a 2. számot:"); Kapcsoló ("1" tok (document.write (egy ");); szünet;" 2 "tok (dokumentum.write (" kettő ");); szünet; "1 és 2-től eltérő értéket adott meg") ; } ; }

var szám \u003d gyors ("Írja be az 1. vagy a 2. számot:"); Kapcsoló ("1" tok (dokumentum.Write (egy ");); szünet;" 2 "tok (dokumentum.Write (" kettő ");); szünet; alapértelmezett (dokumentum.write (" és 2 ");););)


JS 3_7 feladat. Mi lesz megjelenik a képernyőn a következő kód végrehajtásakor:

1 2 3 4 5 6 7 8 9 10 11 12 13 Var érték \u003d "2"; Switch (érték) ("1": "1": "2" ügy: "2": "3": Dokumentum.Write ("hello"); szünet; "4" esett: "5": dokumentum Alapértelmezés: Document.Write ("Hiba");)

var érték \u003d "2"; Switch (érték) ("1": "1": "2" ügy: "2": "3": Dokumentum.Write ("Hello"); szünet; "4" esküvő: "5": dokumentum Alapértelmezés: Document.Write ("Hiba");)


JS 3_8 feladat. A felhasználó kéri a számot - a holló számát az ágon. A megadott számtól függően (legfeljebb 10), az üzenet kimenete: - ül az ágon 1 varjú. - ül az ágon 4 varjak - ül az ágon 10 roron

  1. A bevezetett számtól függően a szó vége megváltozik "varjú".
  2. A kapcsoló JavaScript-üzemeltető használata.
  3. Mentse el ezt az oldalt az Eredmények mappában (hasznos további munkához).


Az önellenőrzés kérdései:

  1. Ebben az esetben tanácsos, mint egy feltételes kezelő a tervezés használatához kapcsoló?
  2. Mi az alapértelmezett blokk az üzemeltetőben kapcsoló?
  3. Szükséges a szünetelıszolgáltató használata a tervezésben kapcsoló?
  4. Hogyan történik a csoportosítás az üzemeltető számos értéke számára kapcsoló?

A JavaScript nyelv ciklikus üzemeltetői - mert

Szintaxis:

mert (a számláló kezdeti értéke; állapot, a számláló növekménye) (//..block operátorok ..)

Fontos: A JavaScript forcript ciklusát akkor használják, ha előzetesen ismert, hogy hányszor meg kell ismételni hányszor ciklikus műveleteket (hány iteráció a ciklusban)

  • Az iterációs mérő kezdeti értéke szerint egy hozzárendelési expressziót használnak: például I \u003d 0 - A Cycle számláló a Scratch-től kezdődik:
  • mert (var i \u003d 0, állapot, a számláló növekménye) (//..block operátorok ..)

  • A számláló növekményént a lépést jelezzük, amellyel a mérőnek növelnie kell: például azt jelzi, hogy minden egyes ciklus iterációt a növekedés kíséri 1 :
  • mert (var i \u003d 0, állapot, i ++) (//..block operátorok ..)

  • A ciklus állapota a mérő végső értéke: például I10, leállítja a ciklust:
  • mert (var i \u003d 0; i<10; i++) { //..блок операторов.. }

Tekintsünk egy példát a ciklus használata a JavaScript alkalmazásban:

5. példa: Megjeleníti a számok sorrendjét 0 1 2 3 ... 9 , Minden számjegy - egy új vonalból. 0 1 2 ... 8 9


✍ Megoldás:
  • A számok sorrendjének megjelenítéséhez a Ciklusszámlálót fogjuk használni, amelynek meg kell változtatnia az értékét 0 előtt 9 A sorozat szerint.
  • Így a ciklusszámláló kezdeti értéke Állítsa be az értéket 0 ; mint ciklusfeltételek Állítsa be a végső értéket - II \u003d 9; A lépésszámlálónak egyenlőnek kell lennie 1 (I ++), mivel a szekvencia tagok közötti különbség egy:
  • mert (var i \u003d 0; i<10; i++) { document.write(i+"
    "); }

    A példában a ciklus számláló értékek jelennek meg a képernyőn, mivel az i ++ számláló növekménye megjelenik a képernyőn 0 1 2 3 ... 9 , és minden számjegy - egy új vonalból (címke)
    ).

  • Tesztszkript a böngészőben.

JS 3_9 feladat. 1 előtt 15 .

  1. Számok sorozataként használja a ciklusszámlálót -Ért.
  2. A változó-adderhez használja a változó azonosítót ÖSSZEG..

Kódfragmens:

Mert (var i \u003d ...; ...; ...) (SUM \u003d SUM + ...;) ...

Ciklus kilépési operátorok szünet és folytatni. JavaScriptben. Operátor KIJÁRAT.

A szünetelállító megszakítja a ciklus teljes testét, azaz Lépjen ki a ciklushoz a JavaScripthez.

Míg a folytatás üzemeltető megszakítja a ciklus jelenlegi iterációjának végrehajtását, de miközben folytatja a ciklus végrehajtását a következő iterációból.

Tekintsük a szünet munkáját, és folytassa a piaci szereplőket a példában:

Példa: Óvja a kódfragmens algoritmust. Mi lesz származik?

Kódfragmens:

1 2 3 4 5 6 mert (var i \u003d 0; i< 10 ; i++ ) { if (i== 4 ) continue ; document.write (i+ "
"); ha (i \u003d\u003d 8) szünet;)

mert (var i \u003d 0; i<10;i++) { if (i==4) continue; document.write(i+"
"); ha (i \u003d\u003d 8) szünet;)


✍ Megoldás:
  • A példa harmadik sorában van olyan állapot, amely miatt az ábra 4 Nem jelenik meg: Operátor folytatni.váltson a ciklus következő iterációjára anélkül, hogy befejezné az áramot.
  • Az 5. sorban a ciklusból való kilépés, de ugyanakkor az ábra 8 Megjelenik, mivel a kimeneti nyilatkozat az állapotban van (a 4. sorban). Találkozó szünetA tolmács befejezi a ciklus működését.
  • Így A képernyőn: 0 1 2 3 5 6 7 8 - Minden egyes számjegy egy új vonalból.

JS 3_10 feladat. Visszavonja az összes egész szám összegét 1 előtt 15 , megszünteti a számok teljes számából 5 és 7 .

Lépő üzemeltető

A Javasctipt nyelv egy kiléptető szolgáltatást nyújt a programkódból - a kilépési nyilatkozatból.
Leggyakrabban az üzemeltető a felhasználói beviteli hiba kizárására szolgál.


Tekintsünk egy példát:

6. példa: Kérés Felhasználó Adjon meg egy számot. Ha nem a szám beírja, akkor jelenjen meg egy üzenetet. "A szám szükséges!" és állítsa le a program munkáját.


✍ Megoldás:
  • Inicializálja a változót szám A felhasználó által a modális ablakban megadott érték:
  • var szám \u003d gyors ("Írja be a számot");

  • A Sor-átalakítás egy egész számra történő átalakításának funkciójával ellenőrizze, hogy a megadott érték a szám:
  • szám \u003d parseint (szám); // visszatérés nan - nem a szám

    Abban az esetben, ha nincs megadva, a funkció visszaadja a NAN értéket (angolul. nem szám. - Nem szám).

  • Ellenőrizze a változó értékét szám Az ISNAN funkció használatával:
  • x \u003d isnan (szám); // TRUE visszatérés, ha az érték nem numerikus

    Az ISNAN funkció értékét értékeli igaz. Abban az esetben, ha a változó nem szám

  • Által a "hazugság" szabályok Változó értékellenőrzés szervezése X.. Ha az érték nem numerikus, a megfelelő megjegyzés és a program befejezése:
  • ha (x) (riasztás ("szám!"); Kilépés; // Lépjen ki a programból)

  • A program folytatásához (ha a megadott érték szám volt), adja meg a következő ablakot bemeneti ellátással:
  • riasztás ("Írja be a második számot"); // Adja meg, az üzemeltető nincs végrehajtva

  • Tesztszkript a böngészőben.

Az önellenőrzés kérdései:

  1. Sorolja fel a három ciklusparamétert -Ért És magyarázza el a céljukat.
  2. Milyen operátorokat terveztek a ciklusból való kilépéshez és a megszakításhoz? Adjon példákat a használatukra.
  3. Amelyre az üzemeltető szándékozik kIJÁRAT.?

Van néhány méter az egyikben?

Érdekes munka a ciklusban, ha használható ugyanakkor két számláló a ciklusban.
Tekintsünk egy példát:

7. példa: A parancsfájl használatával nyomtassa ki a következő párváltozót három sorra: i \u003d 0 j \u003d 2 i \u003d 1 j \u003d 3 i \u003d 2 j \u003d 4


✍ Megoldás:
  • A ciklusban két métert szervezzük meg: az I számlálást sorrendben 0 1 2 , méter j a szekvencia kimenethez 2 3 4 :
  • 1 2 3 mert (i \u003d 0, j \u003d 2; i< 10 , j< 5 ; i++, j++ ) { }

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

    A ciklus három paraméterének mindegyike két értéket tartalmaz. vesszőn keresztül (Például az első paraméter két értékkel: i \u003d 0, j \u003d 2). A paraméterek szerepelnek vesszőn keresztül(;).

  • Az egyes sorokból történő kimenethez használja a címkét
    :
  • 1 2 3 4 mert (i \u003d 0, j \u003d 2; i< 10 , j< 5 ; i++, j++ ) { document.write ("
    i \u003d ", én," j \u003d ", j););)

    mert (i \u003d 0, j \u003d 2; i<10, j<5; i++, j++) { document.write("
    i \u003d ", én," j \u003d ", j););)

Generation Page "A Fly": Hogy van?

A következő feladat végrehajtása előtt fontolja meg a példát. dinamikus épület HTML oldal JavaScript segítségével.

8. példa:

  • A weboldalon dinamikusan generálnia kell a felhasználói adatokat a felhasználó által megadott adatoktól függően: kérés a felhasználótól a lista megtekintése (számozott (1 számjegy) vagy jelölt (DIGIT 2)), majd a listaelemek száma.
  • A választól függően megjeleníti a címkéket vagy egy jelölt vagy számozott listát a szükséges számú elemhez.
  • Ha egy nem létező lista típusát ad meg, akkor adjon ki egy üzenetet "Adja meg a megfelelő típusát!" és lépjen ki egy programból ().

Visszatérő címkék:
numered lista címkék:

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

jelölt listák:

vAR ListType \u003d Prompt ("Enter" 1 "- ha a megjelölt lista," 2 "- ha a számozott lista");

  • Ellenőrizze a megadott értéket: A számozott listához (számjegy 1) megjeleníti a címkét
      , a címkével (DIGIT 2) - címke
        . Ha egy másik értéket ad meg, adja ki a megjegyzést, és fejezze be a programot:

            ") Más (riasztás (" írja be a megfelelő típusát "); kilépés;)

          • Inicializálja a változót kolvo. A felhasználó által a modális ablakban megadott érték:
          • vAR KOLVO \u003d Prompt ("Adja meg az elemek számát");

          • A karakterlánc-érték numerikus használatához használja a Parseint funkciót:
          • mert (var i \u003d 1, i<=kolvo; i++) document.write("");

          • Mivel a listák megfelelő címkékkel vannak zárva, a lista listáján, a záró címkék kimenetétől függően:
          • Ha (ListType \u003d\u003d "1") dokumentum.Write ("")) Más, ha (ListType \u003d\u003d" 2 ") dokumentum.Write ("" ) ;

            ha (ListType \u003d\u003d "1") dokumentum.Write ("

        ")) Más, ha (ListType \u003d\u003d" 2 ") dokumentum.Write ("
      ");

    1. Tesztszkript a böngészőben.
    2. JS 3_11 feladat.
      Írjon egy szkriptet, amely megjeleníti a címkéket bemenet(Controls) különböző típusok, a beírt adatok függvényében:

      1 - szövegmező,
      2 - gomb,
      3 - rádió.(kapcsoló).

      A származtatott címkék számát is fel kell kérni.

      Visszatérő címkék:

      1 - Szövegmező: 2 - gomb: 3 - Rádió:

      Példa a kimenetre:

      JS 3_12 feladat. Rajzoljon egy 9x9 sakktáblát a JavaScript használatával a ciklusokhoz. A "RUND" tábla követi a HTML-címkéket az asztalhoz:

      Visszatérő címkék:

      <táblázat Border \u003d "1" szélesség \u003d "30%"\u003e <tr\u003e <tD\u003e-</ Td\u003e -</ Td\u003e </ tr\u003e </ Táblázat\u003e

      --

      • A 9 soros rajzoláshoz szükség van egy külső ciklusra egy méterrel.
      • Az egyes sorokban 9 cellát rajzolunk, szükség van egy belső (beágyazott) a ciklusra a j.
      • A címkék és a karakterláncok rajzolásához használja a dokumentum.Write módszert.

      Eredmény:

      Ezenkívül:

      1. A táblázat sejtjeiben jelenítse meg a szorzótáblát a ciklusszámlálók (I és J) segítségével.
      2. Az első sor és az első oszlop, amely visszavonja a piros háttérrel (a BGColor tábla-sejtek tulajdonsága):
        <tD BGCOLOR \u003d "piros"\u003e-</ Td\u003e

        -

      Eredmény:


      Az önellenőrzés kérdései:

      1. Magyarázd el, mi a "dinamikus oldalépítés" fogalma?
      2. Milyen nyelvi tervezést alkalmaznak leggyakrabban az oldal építése során?

      Cyclic Javascript - Míg a nyelvi szolgáltatók

      Whele operátor szintaxis:

      míg (állapot) (//..block operátorok ..);

      Példa: Ártalmatlanítás a párbeszédpanelen 1000 (2, 4, 8 ... 512). Használja a figyelmeztetés () módszert


      ✍ Megoldás:
      • Script felsorolása:
      • 1 2 3 4 5 var a \u003d 1; Míg (A.< 1000 ) { a*= 2 ; alert(a) ; }

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

        a * \u003d 2 → kompozit hozzárendelési műveletet használnak: a hozzárendeléssel kombinálva, azaz a hozzárendeléssel kombinálva, azaz ugyanaz, mint a \u003d A * 2

      • Ellenőrizze az eredményt a böngészőben.

      Hogyan működnek és folytatják az üzemeltetők a ciklusban?

      Példa:

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

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

      A szekvétek fokozódnak 128 inkluzív és érték 64 hiányozni fog. Azok. A párbeszédablakokban látni fogjuk: 2 4 8 16 32 128

      JS 3_13 feladat. Milyen értékek lesznek a következő kódfragmens?

      var pogning \u003d 5; Míg (számláló)< 10) { counter++; document.write("Counter " + counter); break; document.write("Эта строка не выполнится."); }


      JS 3_14 feladat. Írja be az építési kódot h. fokozatosan y.A ciklus közben. A változók értékeinek kérése és az eredmény kimutatása riasztás segítségével ().

      Teljes kód:

      1 2 3 4 5 6 7 8 9 var x \u003d ...; var y \u003d ...; Számláló \u003d 1; chislo \u003d x; Míg (...) (chislo \u003d x * ..., számláló \u003d ...;) riasztás (Chislo);

      var x \u003d ...; var y \u003d ...; Számláló \u003d 1; chislo \u003d x; Míg (...) (chislo \u003d x * ..., számláló \u003d ...;) riasztás (Chislo);

      A Hiba javítása a programban tervezett programban:

      1 2 3 4 5 6 7 8 9 10 11 12 13 VAR Counter \u003d Prompt ("Írja be a számot"); var faktorial \u003d 1; Dokumentum.Write ( "Faktoriális számok:" + Számláló + "! \u003d"); Do (ha (számláló \u003d\u003d 0) (faktorial \u003d 1, szünet,) faktorial \u003d faktoriális / számláló; számláló \u003d számláló + 1;), míg (számláló\u003e 0); Dokumentum.Write (faktorial);

      vAR Counter \u003d Prompt ("Írja be a számot"); var faktorial \u003d 1; Dokumentum.Write ("faktoriális számok:" + számláló + "! \u003d"); Do (ha (számláló \u003d\u003d 0) (faktorial \u003d 1, szünet,) faktorial \u003d faktoriális / számláló; számláló \u003d számláló + 1;), míg (számláló\u003e 0); Dokumentum.Write (faktorial);


      JS 3_16 feladat. Módosítsa a program beírása a felhasználónév:

      Kérje meg a felhasználó nevét, amíg a felhasználó valóban belép a névbe (azaz a mező valóban kitöltése, és a CANCEL billentyű nem nyomható meg). Amikor a név be van adva, akkor a kimenet "Hello, név!". Dokumentum.

      Hogyan kereshet hibákat a JavaScript-ben?

      Bizonyos esetekben az oldalon lévő kód nem működik érthetetlen miatt, hogy milyen okból. Hol keres egy hibát? Ilyen esetekben alkalmazhatja a TRY..CATCH utasítás.

      A PRY..CATCH operátor megpróbál egy kódfragmenst végrehajtani, és ha hiba van a kódban, akkor hiba lehet a képernyőn.
      A hiba az e.message objektumban tárolódik.

      Tekintsük az üzemeltető munkáját a példa segítségével:

      Példa: Írjon egy hibaüzemeltetőt a programban. Ellenőrizze a hiba jelenlétét a feltételezett hibás kódban: Ha a kód hiba jelen van - üzenet kiadása "Hibafeldolgozás: Hiba neve". A hibás üzemeltető ellenőrzése után, függetlenül attól, hogy van-e hiba a kódban, küldjön üzenetet "Finishing actions"


      ✍ Megoldás:
      • Hibaüzenetként az üzenetet használva a hibaüzenetet () módszert használjuk, pROMT (). Hibaüzenet A kipróbálási egységben található:
      • riasztás"); Próbálja meg (PROMT ("Írja be a számot"); // Hibaüzemeltető)

        Próbáljon angolul. - A "próbálkozás", így a kipróbítót a kódfragmentum előtt helyezzük el, amely talán hibát tartalmaz (esetünkben, tényleg hiba van).

      • Hibaüzenetes üzenetet kell elhelyezni a fogási egységbe:
      • 6 7 8 9 Fogás (E) (riasztás ( "Hibafeldolgozás:"+ E.message); )

        fogás (E) (riasztás ("hibafeldolgozás:" + e.message);)

        Ha a hiba valóban ott van, akkor a fogási nyilatkozat (angolul. Catch ") megmenti ezt a hibát az e objektumban. A jövőben megjeleníthető az E.Message párbeszédpanelen.

      • A végső üzenet, amelynek ki kell adnia, függetlenül attól, hogy a hiba a kódban van-e, helyezze a végül blokkba:
      • végül (riasztás (végső akciók ");) riasztás (" utána ");

        Ha még mindig hiba van, akkor a példa utáni teljesítmény után a tolmács a fogási blokk végrehajtásához megy, majd végül (az angol "befejezésből", "végül"), amely mindig befejeződik, függetlenül attól, hogy befejeződik hogy a hiba volt-e vagy sem. Még ha hiba lép fel a fogási blokkban.

      Fontos: Végül a design blokk opcionális.


      JS 3_17 feladat. Végezze el a fent leírt példát a következő módosításokkal:

    3. Távolítsa el a végül blokkolja és kövesse a kód végrehajtását.
    4. Helyette egy hibás üzemeltető helyett, és nézze meg, mi lesz az eredmény.
    5. Összefoglaló:

      A lecke leírta a következő JavaScript nyelvi szolgáltatókat és terveket:

      JavaScript Feltételes operátorok:

    6. Ha az üzemeltető
    7. Feltételes megbízás (Ternary Operator)
    8. Kapcsoló kapcsoló üzemeltetője
    9. Ciklus-üzemeltetők:

    10. Ciklus
    11. Ciklus közben
    12. Ciklus ... míg
    13. Ciklus ... in
    14. Végső feladat JS 3_18.
      Hozzon létre egy játékot kétre:

      1. A program felkéri az első játékosot, hogy adjon meg egy számot 1 előtt 100 (A második játékos nem látja a megadott számot). A második játékos azt kéri, hogy kitalálja a megadott számot. Egy üzenet jelenik meg válaszul. "kevés" vagy "sok" A megadott választól függően. Ha egy játékos kitalál, - megjelenik egy gratuláció. Ha nem találgatás - a játék folytatódik (amíg a szám kitalált).
      2. Számítsa ki a kísérletek számát, és adja meg az eredményt, amikor a szám megoldódik.


      Az önellenőrzés kérdései:

      1. Milyen esetekben ajánlatos a ciklusban használni? Nevezzen példát a használatára.
      2. Mi a célja a try..catch utasításnak?
      3. Ismertesse az egyes próbákhoz való hozzárendelést.
      Tartalomjegyzék

      A JavaScript támogatja az interaktív weboldalak létrehozására szolgáló kompakt üzemeltetőket. Ez a fejezet áttekintést nyújt ezekről az üzemeltetőkről.

      Ez a fejezet a következő szakaszokkal rendelkezik, amelyek rövid áttekintést nyújtanak az egyes üzemelőkről:

      • Operátorok blokkolása: { }
      • Feltételes operátorok: ha más és kapcsoló
      • Ciklus-üzemeltetők: már, míg ... míg, címke, törés és folytatás (címke Önmagában nem egy cikluskezelő, de gyakran használják a meghatározott szolgáltatókkal)
      • Manipulációs operátorok tárgyakkal: be és val vel.
      • Hozzászólások
      • Kivételkezelő üzemeltetők: próbáld meg ... Catch. és dobás
      Bármely kifejezés is üzemeltető. Lásd a 3. fejezetet a "Kifejezések és műveletek" szakaszban a műveletekről.

      Használja a kapcsolási pont szimbólumát (;) a JavaScript-kód elválasztásához.

      Lásd a JavaScript Core könyvét. Könyvtár. Részletek az operátorokról e fejezetről.

      1. Az üzemeltetők blokkja

      A kezelőegységet a gépkocsik csoportosítására használják. A blokk csak a ranglított zárójelekre korlátozódik:

      (Nyomatmánykönyv 2. Nyilatkozat ... nyilatkozat)

      2. Feltételes operátorok

      A feltételes kezelő olyan parancsok, amelyek végrehajtásra kerülnek, ha a megadott állapot - igaz.. A Javascript két feltételes operátort támogat: ha más és kapcsoló.

      2.1. Ha ... más operátor

      Ez az üzemeltető bizonyos operátorok végrehajtására szolgál, ha logikai állapot igaz.; Használjon opcionális blokkot mÁS. más operátorok elvégzéséhez, ha az állapot hamis. Az IF operátor így néz ki:

      ha (állapot) [más (States2)]

      Állapot lehet bármely JavaScript kifejezést kiszámítva igaz. vagy hamis. Az elvégzett piaci szereplők bármely JavaScript-üzemeltető lehet, beleértve a beágyazott üzemeltetőket is ha. Ha több üzemeltetőt kell végrehajtania az üzemeltetők után ha vagy mÁS.Meg kell zárnia ezeket a szolgáltatókat a göndör zárójelben ().

      Nem kell egyszerű feladatokat használnia a feltételes kezelőben. Például ne használja ezt a kódot:

      Ha a feltételes kezelőbe kell használnia a hozzárendelést, adjon meg további zárójeleket a hozzárendelési művelet körül. Például, ha ((x \u003d y))).

      Ne keverje össze a primitíveket Boolean.-Fogalom igaz. és hamis Értékekkel igaz. és hamis Tárgy Boolean.. Bármely olyan tárgy, amelynek értéke nem határozatlan., nULLA, nulla., ** NAN ** vagy üres karakterlánc, beleértve az objektumot is Boolean. jelentéssel hamis, számított igaz.A feltételes kezelőnek továbbítva. Például:

      var b \u003d új logikai (hamis); Ha (b) // Ez a feltétel igaz

      Példa.

      Ebben a példában a funkció checkdata. Visszatér igaz.Ha a karakterek száma SZÖVEG.- Ack három; Ellenkező esetben figyelmeztetést és visszatérést jelenít meg hamis.

      funkció CheckData () (IF (Dokumentum. A formanyomtatvány. Érték. Érték. Hossz \u003d\u003d 3) (Visszatérés igaz) más (riasztás (" Írja be pontosan három karaktert."+ Dokumentum. Form1. Hrebachar. Value +" nem érvényes. ") Visszatérés FALSE)))

      2.2. Kapcsoló üzemeltető

      Operátor kapcsoló Lehetővé teszi a program számára, hogy kiszámítsa a kifejezést, és megpróbálja összehasonlítani az expressziós érték értékét az ügyben. Ha a véletlen egybeesés megtalálható, a program egy kapcsolódó üzemeltetőt hajt végre. Operátor kapcsoló Úgy tűnik, hogy:

      kapcsoló (kifejezés) (esettanulmány: nyilatkozat, szünet; esettanulmány: nyilatkozat; szünet; ... alapértelmezett: nyilatkozat;)

      A program először keres címkeegybeeső kifejezésMajd végrehajt egy kapcsolódó nyilatkozatot / üzemeltetőt. Ha a véletlen címke Nem található, a program opcionális alapértelmezett. nyilatkozat/ Az alapértelmezett nyilatkozat, és ha megtalálható, végrehajtja a kapcsolódó operátort. Ha egy alapértelmezett. nyilatkozat A program továbbra is az üzemeltető vége után továbbra is elvégzi az üzemeltetőt kapcsoló.

      Opcionális üzemeltető szünetelrendezés Ügy. címke, biztosítja, hogy a program megszakítsa az üzemeltető végrehajtását kapcsolóAmint a megállapított véletlen egybeesés végrehajtásra kerül, és továbbra is végrehajtja az üzemeltetőtől az üzemeltető után kapcsoló. Ha egy szünet hiányzik, a program továbbra is elvégzi a következő üzemeltetőt az üzemeltetőben kapcsoló.

      Példa.

      Itt, ha expr A "banán" számításra kerül, a program véletlenszerűen találja meg a "banán" esetet, és elvégzi a kapcsolódó üzemeltetőt. Ha a szünetet észleli, a program megszakítja kapcsoló és végrehajtja az operátort a kezelőblokk után kapcsoló. Ha egy szünet hiányzó, operátor Ügy. A "cseresznye" is végrehajtásra kerül.

      switch (Expr) (Case "Oranges": Dokumentum. Írás (" A narancs 0,59 dollár.
      "); Szünet; tok" alma ": dokumentum. Írás (" Az alma 0,32 dollár.
      "); Szünet;" banán ": dokumentum. Írj (" A banán 0,48 dollár.
      "); Szünet;" cseresznye ": dokumentum. Írás (" Cseresznye 3,00 dollár.
      "); Szünet; alapértelmezett: Dokumentum. Írás (" Sajnáljuk, nem vagyunk "+ I +".
      ");) Dokumentum. Írás (" Van valami más, amit csinálsz?
      " ) ;

      3. Cikluskezelők

      Ciklus/ hurok. Ez egy olyan operátorkészlet, amelyet többször is végrehajtanak a megadott állapot alatt. A JavaScript támogatja a ciklikus operátorokat -Ért, csinálni, miközben és míg, továbbá címke (címke Önmagában nem egy cikluskezelő, hanem gyakran használják a meghatározott operátorokkal). Ezenkívül használhatja az üzemeltetőket szünet és folytatni. A ciklusok belsejében.

      Egy másik cikluskezelő, beSzintén ciklikusan hajtja végre az üzemeltetőit, de tárgyakkal dolgozik. Lásd a manipulációs üzemeltetők üzemeltetőit.

      3.1. Operátor

      Ciklus -Ért ismételten megismételte a megadott értéket hamis. JavaScript ciklus -Ért Úgy néz ki, mint a ciklusok -Ért Java és C. Üzemeltető -Ért Úgy tűnik, hogy:

      mert ([inicialexpression]; [állapot]; [incrementexpression]) (Államok)

      Amikor ciklus -Ért Végrehajtott, a következő történik:

      1. A kifejezés inicializálása inicialaxodásha rendelkezésre áll. Ez a kifejezés általában inicializálja az egy vagy több ciklusszámlálót, és a szintaxis lehetővé teszi bármely összetettség kifejezések. Ez a kifejezés változókat is kijelenthet.


      2. A feltétel / feltételes kifejezés kiszámításra kerül. Ha érték Állapot - igaz., A kijelentések / ciklusüzemeltetők végrehajtásra kerülnek. Ha érték Állapot - hamis, ciklus -Ért megállítja a munkát. Ha kifejezés feltétel teljesen hiányzik, feltételezzük, hogy Állapot - igaz.


      3. Végezze el nyilatkozatok.


      4. A kifejezés frissítése inkrementexpresszió.Ha rendelkezésre áll, végrehajtható, és a vezérlés visszatér a 2. lépéshez.


      Példa.

      Ez a funkció tartalmaz egy operátort -Értamely számítja a kiválasztott lehetőségek számát a görgethető listában (objektum Kiválasztlehetővé téve, hogy több pozíciót választson). Operátor -Ért A változó bejelentése ÉN. És nullára inicializálja. Kevesebbet ellenőrzi ÉN. Objektum opciók Kiválaszt, végrehajtja az üzemeltetőt ha És a változó növekedése ÉN. egységenként a ciklus minden egyes szakasza után.

      Válasszon néhány zenei típusot, majd kattintson az alábbi gombra:

      "Alert (" A kiválasztott opciók száma: "+ howermany (document.selectform.musictypes)") ">

      3.2. Az üzemeltető ... miközben

      Operátor csinálni, miközben ismételten megismételt kifejezés - hamis. Operátor csinálni, miközben Úgy tűnik, hogy:

      do (nyilatkozat) közben (állapot)

      nyilatkozat Az állapot / állapot ellenőrzése előtt egyszer. Ha egy Állapot - igaz.Az üzemeltető újra végrehajtásra kerül. Minden egyes végrehajtás végén feltétel Ellenőrzött. Ha egy Állapot - hamisA végrehajtás leáll, és a vezérlést továbbítják az üzemeltetőnek csinálni, miközben.

      Példa.

      Ebben a példában tegye. Legalább egyszer, és ismételje meg az iterációkat ÉN. Kevésbé 5 .

      do (i + \u003d 1, dokumentum. Írj (i);) míg (i< 5 ) ;

      3.3. Keréküzemeltető

      Operátor míg a megadott állapot / állapot alatt végzi szolgáltatóit - igaz.. Operátor míg Úgy tűnik, hogy:

      míg (állapot)

      Ha egy feltétel lesz hamisA ciklus leállításán belüli üzemeltetők, és a vezérlést a ciklus után a kezelőnek továbbítják.

      Feltételek: Feltételek / Állapot fordul elő, mielőtt az üzemeltetők teljesülnek a cikluson belül. Ha egy feltétel Visszatér igaz., az üzemeltetők végrehajtásra kerülnek és feltétel Újra ellenőrzött. Ha a feltétel visszatér hamisA ciklus leállása és a vezérlés átkerül az üzemeltetőnek az üzemeltető után míg.

      1. példa.

      Ez a ciklus míg Tételek, eddig n. Kevésbé 3 :

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

      Minden iterációval a ciklus növekszik n. és hozzáadja ezt az értéket a változóhoz x.. Ennélfogva, x. és n. Vegye ki a következő értékeket:

      • Az első szakasz után: n \u003d 1 és x \u003d 1
      • A második szakasz után: n \u003d 2 és x \u003d 3
      • A harmadik szakasz után: n \u003d 3 és x \u003d 6
      Miután befejezte a ciklus három áthaladását, feltétel n.< 3 Már nem igaz, így a ciklus végrehajtása megszakad.

      2. példa: Végtelen ciklus.

      Győződjön meg róla, hogy a ciklus állapota egy nap hamis; Ellenkező esetben a ciklus soha nem szakad meg. A következő ciklus üzemeltetői míg végtelenül végzik, mert az állapot soha nem lesz hamis:

      míg (igaz) (riasztás ("hello, világ"))

      3.4. Címkéző

      Operátor címke Ez egy azonosító, amelyhez a program bármely helyére utalhat. Például használhatod címke A ciklus azonosítása, majd az üzemeltetők használata szünet vagy folytatni. Egy ciklus megszakítására vagy a végrehajtás folytatására.

      Szintaxisüzemeltető címke Úgy tűnik, hogy:

      címke: nyilatkozat

      Jelentés címke Lehet, hogy bármilyen hűséges JavaScript azonosító, amely nem fenntartott szó. Üzemeltető / nyilatkozat azonosítható címkelehet, hogy bármely üzemeltető.

      Példa.

      Ebben a példában címke markloop. azonosítja a ciklust míg.

      markloop: míg (themark \u003d\u003d true) dosomething (); )

      3.5. Operátorszünet

      Használja az operátort szünet A ciklusok megszakítására kapcsoló vagy az operátor címkézése címke.
      • Ha használod szünet nélkül címke, azonnal megszakítja a legközelebbi míg, csinálni, miközben, -Ért vagy kapcsoló és átadja az ellenőrzést a következő üzemeltetőre.
      • Ha használod szünet tól től címke, Megszakítja a megadott megjelölt operátort.
      Szintaxisüzemeltető szünet Ilyen:

      Egy. Break 2. Töréscímke

      Az első opció megszakítja a legközelebbi ciklust tartalmazó vagy kapcsoló; A második opció megszakítja a címkével rendelkező megadott operátort.

      Példa.

      Az iteráció a tömb elemeien történik, amíg az elemindexet az értékkel találja meg az érték.:

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

      3.6. Folytassa az üzemeltetőt

      Operátor folytatni. Az üzemeltetők újraindítására használják míg, csinálni, miközben, -Ért és címke.
      • Ha használod folytatni. nélkül címke, megszakítja a legközelebbi ciklus aktuális iterációját míg, tedd vagy -Ért És továbbra is elvégzi ezt a ciklust a következő iterációval. Az üzemeltetővel ellentétben szünet, folytassa. Nem szakítja meg teljesen a ciklus végrehajtását. Ciklusban míg Folytatódik feltétel. A ciklusban növekedés-kifejezés.
      • Ha folytatódik a Folytatás címke, az ezzel azonosított ciklusüzemeltetőre vonatkozik címke.
      Szintaxisüzemeltető folytatni. Ilyen:

      Egy. Folytatás 2. Folytassa a címkét

      1. példa.

      Ez a ciklusok példája míg az üzemeltetővel folytatni.amelyet az érték akkor végzik ÉN. egyaránt 3 . Ilyen módon n. 1, 3, 7 és 12 értéket kap.

      i \u003d 0; n \u003d 0; Miközben én.< 5 ) { i ++; if (i == 3 ) continue ; n += i ; }

      2. példa.

      A kezelő megjelölte checkiandj., tartalmaz egy olyan operátort, amely jelölt checkj.. Ha észlelik folytatni., a program megszakítja a jelenlegi iterációt checkj. És elkezdi a következő iterációt. Minden alkalommal továbbra is észlelhető, checkj. újra megkezdi az iterációt, amíg az állapota visszatér hamis. Ha visszaadja hamis, az üzemeltető fennmaradó részét elvégzik checkiandj. és checkiandj. Megköveteli, amíg az állapota hamis. Ha jön vissza hamis, a program továbbra is végrehajtásra kerül az üzemeltetőtől a következő után checkiandj..

      Ha folytatódik címke -ért checkiandj., a program továbbra is az üzemeltető kezdetétől fog teljesíteni checkiandj..

      checkiandj: míg (i< 4 ) { document . write (i + "
      "); I + \u003d 1; CheckJ: míg (j\u003e 4) (dokumentum. Írj (J +"
      "); J - \u003d 1; ha ((j% 2) \u003d\u003d 0) Folytatás Checkj; Dokumentum. Írás (J +" páratlan.
      ");) Dokumentum. Írjon (" i \u003d "+ i +"
      "); Dokumentum. Írás (" J \u003d "+ J +"
      " ) ; }

      4. Üzemeltetők manipulációs tárgyak

      A JavaScriptet az operátorokat használja be és val vel. Az objektumok manipulálására.

      4.1. Üzemeltető ... in

      Operátor be A megadott változót az objektum összes tulajdonságában alkotja. Az elért JavaScript tulajdonság esetében meghatározott üzemeltetőket hajt végre. Operátor be Úgy tűnik, hogy:

      (Az objektumban változó) (

      Példa.

      Ez a funkció egy objektumot és objektumnevet érvelésként veszi igénybe. Ezután az objektum minden tulajdonsága jellemzi, és visszaadja a karakterláncot - a tulajdonságok listáját és értékeit.

      funkció Dump_props (OBJ, OBJ_NAME) (VAR eredmény \u003d ""; mert (var i obj) (eredmény + \u003d obj_name + "." + I + "\u003d" + obj [i] + "
      ") Eredmény + \u003d"


      "; Visszatérési eredmény;)

      Az objektumhoz autó tulajdonságokkal készít és modell Az eredmény ilyen lesz:

      aUTÓ. Make \u003d Ford autó. Model \u003d Mustang.

      4.2. Kezelővel

      Operátor val vel. Beállítja az alapértelmezett objektumot a kezelőblokkkészlethez. JavaScript Megtekintések A kezelőblokk belsejében nem minősített nevek és meghatározzák, hogy a nevek az alapértelmezett objektum tulajdonságai. Ha a nem minősített név egy tulajdonság, ezt a tulajdonságot használják az üzemeltetőben; Ellenkező esetben helyi vagy globális változót használnak.

      A kezelővel ez így néz ki:

      (Object) (Államok)

      Példa.

      Itt van az üzemeltető val vel. Meghatározza, hogy az objektum Matematika. Ez az alapértelmezett objektum. Az operátor után az operátor az ingatlanra vonatkozik Pi és módszerek kötözősaláta. és bűn. Objektum megadása nélkül. A JavaScript elfogadja az objektumot Matematika. e fellebbezések céljaként.

      var a, x, y ;; var r \u003d 10 (matematika) (A \u003d pi * r * r; x \u003d r * cos (pi); y \u003d r * sin (pi / 2);)

      jegyzet:

      Az operátor segítségével jelentősen lelassíthatja a program végrehajtását.

      5. Megjegyzések

      A megjegyzések jellemzően megmagyarázzák a kód által végrehajtott műveleteket. Megjegyzéseket figyelmen kívül hagyja a tolmács. A JavaScript támogatja a Java-t és a C ++ megjegyzéseket:
      • Egysoros megjegyzés egy dupla slash-el a vonal elején (//).
      • Többsoros kommentár szimbólumokkal / * az elején és a szimbólumokkal * / a végén.
      Példa.

      Itt van egy példa két megjegyzésre:

      // Ez egy egysoros megjegyzés. / * És ez egy többsoros. Lehet, hogy bármilyen hosszúságú, és bárhol mindent elhelyezhetsz. * /

      6. Végrehajtás feldolgozóüzemeltetők

      Kivételt okozhat az üzemeltetőnek dobás és kezeli az üzemeltetők próbáld meg ... Catch..

      Operátor próbáld meg ... Catch. A Java kivételeinek kezelésére is használható. Lásd a JavaScript "Java kivételi folyamatot" és a "JavaScript kivétel feldolgozását Java-ban".

      6.1. Dobja az operátort

      Operátor dobás Kivétel felhívására használják. Ha kivételt hív, megad egy expressziót, amely kivételes értéket tartalmaz:

      dobás

      A következő kód több kivételt okoz.

      dobja a "hiba2"; // generál egy kivételt egy karakterlánc értékkeldobja a 42-et; // generál egy kivételt 42 értékkeldobja igaz; // az igazi kivételt generál

      Ha kivételt hív, megadhat egy objektumot. Ezután utalhat az objektum tulajdonságai a blokkban. fogás. A következő példa egy objektumot hoz létre myuserException típus UserException és használja az üzemeltetőben dobás.

      // Objektumtípus létrehozása USERExceptionfunkció UserException (ez. Üzenet \u003d üzenet; ez. Név \u003d "UserException";) // objektumpéldány létrehozásamyuserException \u003d Új USERException ("érték túl magas"); Dobja a myuserException-t;

      6.2. Próbálja meg ... Catch operátor

      Operátor próbáld meg ... Catch. Jelzi a kezelőblokkot, megpróbálja végrehajtani azokat, és egy vagy több válaszadási lehetőséget ad meg, amikor kivétel történik. Ha a kivétel történt, az üzemeltető próbáld meg ... Catch. gondoskodik vele.

      Operátor próbáld meg ... Catch. Blokkból áll próbáld ki.amely egy vagy több szolgáltatót és nulla vagy több blokkot tartalmaz fogásolyan operátorokat tartalmazó, amelyek a blokk kivételének felhívásakor meg vannak adva próbáld ki.. Vagyis ha szeretné végrehajtani a blokkot próbáld ki. és nem hajtja végre, átadja az irányítást a blokkhoz fogás. Ha bármilyen blokkkezelő próbáld ki. (vagy a blokkból származó kezelői funkció próbáld ki.) Kivételt okoz, a menedzsment azonnal továbbítódik a blokkba. fogás. Ha a kivételt nem okozott, a blokk fogás kihagyott. Blokk végül. Blokkolás után próbáld ki. és fogásDe mielőtt elvégezné az üzemeltetőt a kezelőblokk után próbáld meg ... Catch..

      A következő példa az üzemeltetőt használja próbáld meg ... Catch.. Egy funkciót hívják, amely a hónap nevét kéri, a funkció által továbbított érték alapján. Ha az érték nem felel meg a hónap számának (1-12), kivételt okoz az érték "InvalidMonThno" Blokkolók fogás Állítsa be a B változót. monname. érték "Ismeretlen".

      funkció getmontname (MO) (MO \u003d MO - 1; // finomítsa a hónap számát a tömb indexen (1 \u003d jan, 12 \u003d december)vAR HONOK \u003d Új tömb (Jan "," február "," Mar "," APR "," Május "," Jun "," Jul "," Aug "," Sep "," Oct "," nov ", "DECEMBER"); Ha (hónap [mo]! \u003d Null) (Hónapok [MO]) más (dobja az "InvalidMonthno")) Próbálja meg ( // megpróbálja végrehajtani ezeket az üzemeltetőket:hónapnév \u003d getmonthname (myMonth) // funkció kivételt okozhat) Fogás (e) (hónapnév \u003d "ismeretlen" logMyErrors (e) // A kivételt okozó objektumot a kivételkezelő továbbítja}

      dobás; Ezzel az azonosítóval információt kaphat a megbízható adatokról. A Javascript létrehozza ezt az azonosítót a blokk beírásakor fogás; Az azonosító csak a végrehajtási időszak alatt létezik fogás; A blokk végrehajtásának befejezése után fogás Az azonosító már nem elérhető.

      Például a következő kód kivételt okoz. Ha kivétel történik, a vezérlést továbbítják a blokkba fogás.

      próbálja meg (dobja a "MyeException" -t // Kivétel keletkezik) Fogás (e) ( // A kivétel feldolgozására szolgáló üzemeltetőklogMyErrors (E) // A kivétel a hibakezelőre továbbítódik}

      Több fogásblokk

      Egyetlen üzemeltető próbáld ki. tartalmazhat több feltételes blokkot fogásAmelyek mindegyike egy adott típusú kivételt tartalmaz. Ebben az esetben a megfelelő feltételes blokk bejárata fogás Ezt csak a blokkra megadott kivétel felhívásakor végzik. Azt is kiválaszthatja, hogy engedélyezze a külön egységet. fogás Minden el nem ismert kivételre, mint a végső blokk fogás az üzemeltetőben.

      Például a következő funkció három másik funkciót eredményez (máshol van bejelentve), amely ellenőrzi az érveit. Ha a tesztfunkció határozza meg, hogy az ellenőrzött komponens helytelen, akkor visszatér 0, és arra kényszeríti a hívási funkciót, hogy hívjon egy bizonyos kivételt.

      funkció GetCustinfo (név, azonosító, e-mail) (VUR N, I, E; ha (! Validate_name (név)) dobja az "ÉrvénytelennameException" eldobja az "TivalnameException" mást n \u003d nevet; ha (! Validate_ID (ID)) dobja az "InvalidideException" más i \u003d id ; ha (! Validate_email (e-mail)) dobja az "InvalidEmailException" más e \u003d email; cust \u003d (N + "+ I +" + E); Visszatérés (cust);)

      Feltételes blokkok fogás Kezelje a hívást a megfelelő kivételkezelőre.
      " ) { // felhívja a helytelen azonosítók / azonosítók kezelésétbad_id_handler (e)) fogás (e, ha e \u003d\u003d "InvalidEmailexception") ( // hibás e-mail címek kezelését okozzabad_email_Handler (E)) Catch (E) ( // nem anquanceful kivétel A naplófájlban van rögzítvelogerror (E))

      Végül egység

      Végül a blokk blokkolás után végzett operátorokat tartalmaz próbáld ki. és fogás, de mielőtt az üzemeltetők az üzemeltető után járnak próbáld meg ... Catch.. Blokk végül. Ez függetlenül attól, hogy kivételt okozott-e. Ha a kivételt hívják, blokkolja az üzemeltetőket végül. akkor is, ha nincs blokk fogás nem ment kivételt.

      Használhatja a blokkot végül. A parancsfájl helyes befejezéséhez, amikor kivétel történik; Például szükség lehet a forgatókönyvhez tartozó erőforrást. A következő példában a fájl megnyílik és az üzemeltetők működnek (a kiszolgáló JavaScript lehetővé teszi a fájlok elérését). Ha egy kivételt kell hívni a nyílt fájl, a blokk végül. Bezárja a fájlt, mielőtt a parancsfájl meghibásodik.

      openmyfile (); Próbálkozzon (Writemyfile (themeda)) végül (Closemyfile () // Az erőforrás mindig bezáródik}

      Az üzemeltetők beillesztése megpróbálja ... fogás

      Egy vagy több szolgáltatót fektethet be. próbáld meg ... Catch. egymás. Ha a belső üzemeltető próbáld meg ... Catch. Nincs blokkja fogásAz egybeesés ellenőrzött blokk fogás Tartalmazza az IT-szolgáltatót próbáld meg ... Catch.