Ennek az interaktív példának a forrása egy GitHub-tárolóban van tárolva. Ha szeretne hozzájárulni az interaktív példák projekthez, kérjük, klónozza a https://github.com/mdn/interactive-examples oldalt, és küldjön lehívási kérelmet.

Szintaxis

if (feltétel) utasítás1 feltétel Olyan kifejezés, amely igaznak vagy hamisnak tekinthető. utasítás1 Olyan utasítás, amely akkor kerül végrehajtásra, ha a feltétel igaz. Bármilyen utasítás lehet, beleértve a további beágyazott if utasításokat is. Több utasítás végrehajtásához használjon blokk utasítást (( ... )) az utasítások csoportosításához. Ha nem szeretne utasításokat végrehajtani, használjon üres utasítást. utasítás2 Olyan utasítás, amely akkor kerül végrehajtásra, ha a feltétel hamis, és létezik az else záradék. Bármilyen utasítás lehet, beleértve a blokk utasításokat és a további beágyazott if utasításokat is.

Leírás

Több if...else utasítás beágyazható else if záradék létrehozásához. Vegye figyelembe, hogy a JavaScriptben nincs elseif (egy szóban) kulcsszó.

If (feltétel1) utasítás1 else if (feltétel2) utasítás2 else if (feltétel3) utasítás3 ... else utasításN

Ha látni szeretné, hogyan működik ez, a következőképpen nézne ki, ha a beágyazás megfelelően van behúzva:

If (feltétel1) utasítás1 else if (feltétel2) utasítás2 else if (feltétel3) ...

Ha több utasítást szeretne végrehajtani egy záradékon belül, használja a blokk utasítást (( ... )) az utasítások csoportosításához. Általában jó gyakorlat, ha mindig blokk utasításokat használunk, különösen a beágyazott if utasításokat tartalmazó kódban:

If (feltétel) ( utasítások1 ) else ( utasítások2 )

Ne keverje össze a primitív igaz és hamis logikai értékeket a Boole-objektum igazságával vagy hamisságával. Bármilyen érték, amely nem false , undefined , null , 0 , -0 , NaN , vagy az üres karakterlánc (""), és bármilyen Az objektum, beleértve a hamis értéket képviselő logikai objektumot is, igaznak tekinthető, ha feltételként használják. Például:

Varb = new Boolean(false); ha (b) // ez a feltétel igaz

Példák

Ha... mást használ

if (cipher_char === from_char) ( eredmény = eredmény + karakterhez; x++; ) else ( eredmény = eredmény + karakter törlése; )

Mást használ, ha

Vegye figyelembe, hogy a JavaScriptben nincs más if szintaxis. Azonban, tudszírja be szóközzel az else és if közé:

If (x > 50) ( /* csináld a helyes dolgot */ ) else if (x > 5) ( /* csináld a helyes dolgot */ ) else ( /* csináld a helyes dolgot */ )

Hozzárendelés a feltételes kifejezésen belül

Nem ajánlatos egyszerű hozzárendeléseket feltételes kifejezésben használni, mert a kód áttekintése során a hozzárendelés összetéveszthető az egyenlőséggel. Például ne használja a következő kódot:

Ha (x = y) ( /* csináld a helyes dolgot */ )

Ha egy hozzárendelést feltételes kifejezésben kell használnia, általános gyakorlat az, hogy további zárójeleket tesz a hozzárendelés köré. Például:

Ha ((x = y)) ( /* csináld a helyes dolgot */ )

Műszaki adatok

Leírás Állapot Megjegyzés
ECMAScript legújabb vázlat (ECMA-262)
Piszkozat
ECMAScript 2015 (6. kiadás, ECMA-262)
Az "if utasítás" meghatározása a specifikációban.
alapértelmezett
ECMAScript 5.1 (ECMA-262)
Az "if utasítás" meghatározása a specifikációban.
alapértelmezett
ECMAScript 3rd Edition (ECMA-262)
Az "if utasítás" meghatározása a specifikációban.
alapértelmezett
ECMAScript 1st Edition (ECMA-262)
Az "if utasítás" meghatározása a specifikációban.
alapértelmezett kezdeti meghatározás

Böngésző kompatibilitás

Az ezen az oldalon található kompatibilitási táblázat strukturált adatokból készült. Ha hozzá szeretne járulni az adatokhoz, kérjük, nézze meg a https://github.com/mdn/browser-compat-data webhelyet, és küldjön lehívási kérelmet.

Frissítse a kompatibilitási adatokat a GitHubon

AsztaliMobilszerver
KrómélFirefoxinternet böngésző Operaszafariandroid webviewChrome AndroidraFirefox AndroidraOpera AndroidraSafari iOS rendszerenSamsung internetNode.js
ha másChrome teljes támogatás 1Edge Teljes támogatás 12Firefox teljes támogatás 1IE teljes támogatás 3Opera Teljes támogatás IgenSafari Teljes támogatás IgenWebView Android Teljes támogatás 1Chrome Android Teljes támogatás 18Firefox Android Teljes támogatás 4Opera Android Teljes támogatás IgenSafari iOS Teljes támogatás IgenSamsung Internet Android Teljes támogatás 1.0nodejs Teljes támogatás Igen

Reg.ru: domainek és tárhely

A legnagyobb regisztrátor és tárhelyszolgáltató Oroszországban.

Több mint 2 millió domain név használatban.

Promóció, levelezés domainhez, megoldások üzleti célokra.

Világszerte több mint 700 ezer ügyfél választotta már.

Bootstrap Framework: Gyorsan reagáló elrendezés

Lépésről lépésre videó tanfolyam az alapokról adaptív elrendezés a Bootstrap keretrendszerben.

Tanuljon meg egyszerűen, gyorsan és hatékonyan szedni egy hatékony és praktikus eszköz segítségével.

Töltsön fel rendelésre és kap pénzt.

*Vigye az egeret a görgetés szüneteltetéséhez.

Vissza előre

Funkciók és if-else feltételek a JavaScriptben

Gyakran együtt JavaScript használatával teljesítési igény van különböző akciók különböző feltételek mellett.

Például írt egy szkriptet, amely ellenőrzi, hogy a látogató melyik böngészőt használja, amikor felkeresi webhelyét. Ha Internet Explorerről van szó, akkor egy speciálisan IE-hez tervezett oldalt, ha bármilyen más böngészőt, akkor ennek az oldalnak egy másik verzióját kell betölteni.

Általános szintaxis if-else konstrukciók következő:

If (feltétel) ( cselekvés ) else ( action2 );

Példaként vegye figyelembe ezt a kódot:

If (browser=="MSIE") ( alert("Ön IE-t használ") ) else ( alert("Nem használ IE-t") );

Vegye figyelembe, hogy minden kisbetűt használ. Ha "IF"-et ír, hiba történik.

Vegye figyelembe azt is, hogy az összehasonlításhoz a kettős egyenlőségjelet (==) használjuk.

Ha írunk böngésző = "MSIE", akkor csak hozzárendeljük az értéket MSIE nevű változó böngésző.

Amikor írunk böngésző=="MSIE", akkor a JavaScript "érti", hogy összehasonlítani szeretnénk, nem értéket rendelni.

Több nehéz körülmények ha egyszerűen létrehozhatók, ha például hozzáadják őket az alkatrészhez más már meglévő struktúra ha más:

If (feltétel) ( action1 ) else ( if (egyéb feltétel) ( action2 ) else ( action3 ); );

Például:

If (browser=="MSIE") ( alert("IE-t használ") ) else ( if (browser=="Netscape") ( alert("Firefoxot használ") ) else ( alert("Ön használ egy fel nem ismert böngésző: )")); );

Logikai operátorok AND, OR és NOT

A design még rugalmasabb használatához ha másúgynevezett logikai operátorok használhatók.

És mint írva && és akkor használatos, ha egynél több feltételt kell ellenőrizni az igazság szempontjából.

Például: Ha van tojás a hűtőben és szalonna a hűtőben, akkor ehetjük a tojást szalonnával.

A szintaxis a következő:

If (feltétel1 && feltétel2) ( művelet ) if (óra==12 && perc==0) ( alert("Délben!") );

Vagy mint írva || és akkor használatos, ha két vagy több feltétel közül legalább az egyik igazságát akarjuk tesztelni. (Tartva kaphat ||-t Shift gombés a \ gomb)

Például: Ha van tej a hűtőben, vagy víz van a hűtőben, akkor van mit innunk.

A szintaxis a következő:

If (feltétel1 || feltétel2) ( akció ) if (óra==11 || óra==10) ( alert("Még nincs dél!") );

Nem mint írva ! és tagadásra használják.

Például: Ha nincs tojás vagy szalonna a hűtőben, akkor sem tojást, sem szalonnát nem ehetünk.

A szintaxis a következő:

If (!(feltétel)) ( művelet ) if (!(óra==11)) ( alert("Nem 11 óra") );

Funkciók a JavaScriptben

Ahelyett, hogy csak Javascriptet adna az oldalhoz, hogy a böngésző végrehajtsa a kódot, amikor eléri azt, beállíthatja, hogy a szkript csak akkor fusson, amikor egy esemény aktiválódik.

Tegyük fel például, hogy létrehozott egy JavaScriptet, amelynek feladata egy oldal háttérszínének megváltoztatása, amikor egy bizonyos gombra kattintanak. Ebben az esetben meg kell "mondani" a böngészőnek, hogy ezt a szkriptet nem szabad végrehajtani pusztán azért, mert a várólista elérte.

Ahhoz, hogy a böngésző ne hajtsa végre a szkriptet a betöltésekor, meg kell írnia a szkriptet függvényként.

Ebben az esetben a JavaScript kód addig nem kerül végrehajtásra, amíg nem "kérjük" erre speciális módon.

Megnézi adott példa függvényként írt szkript:

Kattintson a gombra, hogy megnézze, mit csinál ez a szkript:

Ha a vonal alert("Üdvözöljük!"); nem íródik be egy függvénybe, akkor minden alkalommal végrehajtódik, amikor a böngésző eléri ezt a sort. De mivel egy függvényen belül írtuk, ez a sor nem fut le, amíg nem kattintunk a gombra.

A függvényhívás (azaz annak hívása) ebben a sorban történik:

Amint láthatja, elhelyeztünk egy gombot az űrlapon, és hozzáadtunk egy eseményt onClick="myfunction()" gombhoz.

A jövőbeni leckéken más típusú eseményeket is megvizsgálunk, amelyek funkciókat indítanak el.

A függvények általános szintaxisa a következő:

Függvény függvénynév (változó1, változó2,..., változóN) (// Itt jön a függvény törzse, mit csinál)

Kapcsos zárójel: { és } jelzi a függvény kezdetét és végét.

A függvények létrehozásakor tipikus hiba a figyelmetlenség és a kis- és nagybetűk fontosságának figyelmen kívül hagyása. Szó funkció pontosan kell lennie funkció. választási lehetőség funkció vagy FUNKCIÓ hibát fog okozni.

Ezen kívül a felhasználás nagybetűvel a változók elnevezésében is szerepet játszik. Ha van egy nevű függvénye myfunction(), majd egy kísérletet úgy címezni myfunction(), MYFUNCTION() vagy Saját függvény() hibát fog okozni.

Tetszett az anyag, és szeretnél köszönetet mondani?
Csak ossza meg barátaival és kollégáival!


Lásd még:

var a = 10; varb = (a>1) ? 100:200; riasztás(b);

Ha feltétel a>1 igaz, akkor a változó bértéket rendeljen hozzá 100 , ellenkező esetben a b változóhoz lesz hozzárendelve az érték 200 .

Js 3_4 feladat. Egészítse ki a kódot: 3 helyi változót deklarálunk kulcsszó var. A max változóhoz a következő háromtagú operátor értékét kell hozzárendelni: ha a nagyobb, mint b, akkor ad vissza a -t, ellenkező esetben pedig b -t.
Kódrészlet:

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


Kérdések az önkontrollhoz:

  1. Mi a háromtagú operátor szintaxisa?
  2. Hány argumentuma van egy hármas operátornak?

Switch utasítás javaScriptben - switch

A javascript switch utasítás egy változó több értékének tesztelésére szolgál:

Szintaxis:

kapcsoló (változó vagy kifejezés) ( case option1: //..utasításblokk.. kis- és nagybetűk megszakítása opció2: //..utasításblokk.. törlés alapértelmezett: //..utasításblokk.. )

Egy változó vagy kifejezés értékét ellenőrizzük: mindegyikben ügy az egyik érték ellenőrzésre kerül, megfelelő érték esetén az adottnak megfelelő utasításblokk végrehajtása történik ügy.

A következővel kezdődő blokkolás hivatalos szó alapértelmezett elhagyható. A blokk utasítások végrehajtásra kerülnek, ha a felsorolt ​​értékek közül egyik sem szerepel ügy nem passzol.

Fontos: A break utasítás a változó minden egyes figyelembe vett értéke után kötelező (mindegyik ügy); ha nem használja, akkor az összes alábbi állítás megjelenik

Hasonlítsa össze az operátorral HA:

var a = 2; switch(a) ( 0. eset: // if (a === 0) 1. eset: // if (a === 0) alert("Nulla vagy egy"); // then output... break; case 2: // if (a === 2) alert("Two"); // then output... break; default: // else alert("Sok"); // egyébként kimenet... )

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

Ugyanazon utasítások végrehajtásához több csoport is lehetséges ügy. Mint a fenti példában:

0. eset: 1. eset: alert("Nulla vagy egy"); szünet; ...

Ha a = 0 és a = 1, akkor ugyanaz az utasítás kerül végrehajtásra: alert("Nulla vagy egy");

4. példa: Kérje meg a felhasználót, hogy adjon meg egy színt. Fordítás küldése a címre angol nyelv beírt szín. A színért "kék"és "kék" ugyanazt az értéket termelni.


✍ Megoldás:
  • Hozzon létre egy weboldalt html vázzal és címkével forgatókönyv.
  • Változó inicializálása szín
  • var color = prompt("Milyen szín?" ) ;

    var color = prompt("Milyen szín?");

  • Ellenőrizze egy változó értékét egy konstrukcióval kapcsoló, minden értékhez a megfelelő fordítást adja ki:
  • kapcsoló (szín) ( "piros" eset: figyelmeztetés("piros"); szünet; "zöld" kisbetű: alert("zöld"); szünet; // ...

    Ha a változó szín"piros" értéke van, majd a kimenet a következőre: modális ablak fordítás - "piros" és kilép az építkezésből (szünet;). Ha a változó szín"zöld" értéke van, majd jelenítse meg a fordítást - "zöld" a modális ablakban, és lépjen ki az építésből (break;).

  • Virágoknak "kék"és "kék" végezze el a csoportosítást:
  • // ... case "blue": case "blue": alert("blue"); szünet; // ...

    Ha a változó szín"kék" vagy változó értéke van szín"blue" értéke van, majd jelenítse meg a fordítást - "kék" a modális ablakban, és lépjen ki a konstrukcióból (break;).

  • Rendszerezze a kimenetet azon színekhez, amelyeket a program nem biztosít:
  • // ... alapértelmezett : alert( "Erről a színről nincs információnk") ) // végkapcsoló

    // ... alapértelmezett: alert("nincs információnk erről a színről") ) // a kapcsoló vége

  • Tesztelje a szkriptet egy böngészőben.

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

14 15 16 17 varnumber = prompt( "Írja be az 1-es vagy a 2-es számot:") ; kapcsoló (szám) ( case "1" ( document.write ("One" ) ; ) ; break ; case "2" ( document.write ("Két" ) ; ) ; break ; alapértelmezett ( document.write ( "Az 1-től és a 2-től eltérő értéket adott meg") ; } ; }

var number = prompt("Írja be az 1-es vagy a 2-es számot:"); switch (szám) ( case "1" ( document.write("One"); ); break; case "2" ( document.write("Two"); ); break; default ( document.write("Beírtad 1-től és 2-től eltérő érték"); );)


Js 3_7. feladat. Mi jelenik meg a képernyőn, amikor a következő kódot végrehajtják?:

1 2 3 4 5 6 7 8 9 10 11 12 13 var érték = "2" ; kapcsoló (érték) ("1" eset: "2" : eset "3" : document.write ("Hello" ) ; break ; case "4" : case "5" : document.write ("Világ" ) ; alapértelmezett : document.write("Hiba" ) ; )

var érték = "2"; kapcsoló (érték) ("1" eset: "2": eset "3": document.write("Hello"); break; "4" eset: "5" eset: document.write("World" ); alapértelmezett: document.write("Hiba"); )


Js 3_8. feladat. Kérjen a felhasználótól egy számot - az ágon lévő varjak számát. A beírt számtól függően (legfeljebb 10) jelenítsen meg egy üzenetet: - Ül egy ágon 1 varjú- Egy ágon ülve 4 varjú- Egy ágon ülve 10 varjú

  1. A beírt számtól függően a szó vége megváltozik. "varjú".
  2. Az ellenőrzéshez használja a javascript switch utasítást.
  3. megment ez az oldal az eredmények mappában (hasznos lesz a további munkához).


Kérdések az önkontrollhoz:

  1. Melyik esetben megfelelő, mint feltételes operátor használja a konstrukciót kapcsoló?
  2. Mi a célja az alapértelmezett blokknak az utasításban kapcsoló?
  3. Szükséges-e a break utasítás használata a konstrukcióban kapcsoló?
  4. Hogyan történik a csoportosítás több értékopció esetén egy operátorban kapcsoló?

Loop utasítások javaScriptben – For

Szintaxis:

for(kezdeti számlálóérték; feltétel; számlálónövekmény) ( //..utasításblokk.. )

Fontos: A javascript for loop akkor használatos, ha előre ismert, hogy a ciklikus műveleteket hányszor kell megismételni (hány iterációja van a ciklusnak)

  • Egy hozzárendelési kifejezést használunk az iterációs számláló kezdeti értékeként: például i=0 - a hurokszámláló nulláról indul:
  • for(var i = 0; feltétel; számláló növekmény) ( //.. utasításblokk.. )

  • A számlálónövekményként megjelenik az a lépés, amellyel a számlálónak növekednie kell: például azt jelzi, hogy a ciklus minden iterációját a ciklus növekedése kíséri. 1 :
  • for(var i = 0; feltétel; i++) ( //..utasításblokk.. )

  • A hurokfeltétel a számláló végértéke: az i10 például leállítja a hurkot:
  • for(i változó = 0; i<10; i++) { //..блок операторов.. }

Vegyünk egy példát a for ciklus használatára a javascriptben:

5. példa: Adjon ki egy számsorozatot 0 1 2 3 ... 9 , minden számjegy - új sorból. 0 1 2 ... 8 9


✍ Megoldás:
  • Egy számsorozat megjelenítéséhez a for hurokszámlálót fogjuk használni, amelynek értékét meg kell változtatni 0 előtt 9 sorrend szerint.
  • Így a hurokszámláló kezdeti értékeállítsa be az értéket 0 ; mint ciklus körülményei végső érték beállítása - ii=9; ellenlépésnek egyenlőnek kell lennie 1 (i++), mivel a sorozat tagjai közötti különbség egy:
  • for (var i=0; i<10; i++) { document.write(i+"
    "); }

    A példában a hurokszámláló értékei jelennek meg a képernyőn, mivel az i++ számláló növekménye jelenik meg a képernyőn. 0 1 2 3 ... 9 , és minden számjegy egy új sorból (tag
    ).

  • Tesztelje a szkriptet egy böngészőben.

Js 3_9 feladat. 1 előtt 15 .

  1. Használjon hurokszámlálót számsorozatként számára.
  2. Az összeadó változóhoz használja a változó azonosítót összeg.

Kódrészlet:

For (var i=...;...;...)( összeg = összeg + ...; ) ...

Loop kilépési utasítások szünetés folytatni JavaScriptben. Operátor kijárat

A break utasítás megszakítja a teljes ciklustörzs végrehajtását, azaz. kitör egy hurokból a javaScriptben.

Míg a turpināt utasítás megszakítja a ciklus aktuális iterációjának végrehajtását, de közben a ciklus végrehajtását a következő iterációtól folytatja.

Tekintsük a törés műveletét, és folytassuk az utasításokat egy példa segítségével:

Példa: Ismerje meg a kódrészlet algoritmusát. Mi lesz a kimenet?

Kódrészlet:

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

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


✍ Megoldás:
  • A példa harmadik sorában van egy feltétel, ami miatt a szám 4 nem jelenik meg: utasítás folytatni a ciklus következő iterációjára lép anélkül, hogy az aktuálisat befejezné.
  • Az 5. sorban a hurokból kilép, de a szám 8 ki lesz nyomtatva a képernyőre, mivel a kimeneti utasítás a feltétel elé kerül (a 4. sorban). Miután találkoztunk szünet, a tolmács kilép a ciklusból.
  • Hogy. a képernyőn ez lesz: 0 1 2 3 5 6 7 8 - minden számjegy egy új sorban.

Js 3_10. feladat. Nyomtassa ki az összes egész szám összegét innen 1 előtt 15 , kivéve a teljes számot 5 és 7 .

Kilépési nyilatkozat

A javasctipt nyelv operátort biztosít a programkódból való kilépéshez - a kilépési operátort.
Leggyakrabban az operátort a felhasználói beviteli hiba kizárására használják.


Vegyünk egy példát:

6. példa: Kérje meg a felhasználót, hogy írjon be egy számot. Ha nem szám, akkor jelenítsen meg egy üzenetet – Egy szám kell!és állítsa le a programot.


✍ Megoldás:
  • Változó inicializálása szám a felhasználó által a modális ablakban megadott érték:
  • var number = prompt("Kérjük, írjon be egy számot");

  • A parseInt függvény segítségével egy karakterláncot egész számmá konvertál, ellenőrizze, hogy a bemeneti érték szám-e:
  • szám=parseInt(szám); // NaN-t ad vissza – nem számot

    Ha nem számot adunk meg, a függvény a NaN értéket adja vissza. nem szám- nem szám).

  • Ellenőrizze a Változó értéket szám az isNaN függvény használatával:
  • x = isNaN(szám); A // igaz értéket ad vissza, ha az érték nem numerikus

    isNaN függvény értéket ad vissza igaz ha a változó nem szám

  • Által a "hazugság" szabály változó érték ellenőrzést szervezni x. Ha az érték nem numerikus, nyomtassa ki a megfelelő megjegyzést, és fejezze be a programot:
  • if (x)( alert("Szám szükséges!"); kilépés; // program kilépés )

  • A program folytatásához (ha a beírt érték egy szám volt), jelenítse meg a következő ablakot, amely kéri a bevitelt:
  • alert("Írja be a második számot");// ha nem számot ad meg, az operátor nem kerül végrehajtásra

  • Tesztelje a szkriptet egy böngészőben.

Kérdések az önkontrollhoz:

  1. Soroljon fel három hurokparamétert számáraés elmagyarázzák a céljukat.
  2. Mely utasítások célja a ciklusból való kilépés és megszakítás? Mondjon példákat a használatukra!
  3. Mire való az operátor? kijárat?

Lehetséges több számláló egy FOR-ban?

Használatakor érdekes munkavégzés lehetséges a for ciklussal egyszerre két számláló egy ciklusban.
Vegyünk egy példát:

7. példa: A szkript segítségével három sorban nyomtassa ki a következő változó-érték párokat: i=0 j=2 i=1 j=3 i=2 j=4


✍ Megoldás:
  • Rendezzen két számlálót a for ciklusban: i számláló a sorozat kimenetéhez 0 1 2 , j számláló a sorozat kimenetéhez 2 3 4 :
  • 1 2 3 for (i=0, j=2; i< 10 , j< 5 ; i++, j++ ) { }

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

    A for ciklus mindhárom paraméterének két értéke van, amelyeket felsorolunk vesszővel elválasztva(például az első paraméter két értékkel: i=0, j=2). Maguk a paraméterek vannak felsorolva pontosvesszőn keresztül(;).

  • Az egyes sorok kimenetéhez használja a címkét
    :
  • 1 2 3 4 for (i=0, j=2; i< 10 , j< 5 ; i++, j++ ) { document.write ("
    i=" , i, "j=" , j) ;)

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

Oldalgenerálás "menet közben": hogy van?

A következő feladat elvégzése előtt nézzünk meg egy példát html oldal dinamikus felépítése javascript segítségével.

8. példa:

  • Felsorolásos és számozott listákat kell dinamikusan generálni egy weboldalon a felhasználói bevitel alapján: felszólítja a felhasználót, hogy adja meg lista nézet(számozott (1. szám) vagy felsorolásjelekkel (2. szám)), majd listaelemek száma.
  • A választól függően jelenítsen meg egy felsorolásjeles vagy számozott lista címkéit a kívánt számú elemmel.
  • Ha nem létező listatípust ad meg, küldjön üzenetet "Írja be a megfelelő típust!"és lépjen ki a programból ().

Emlékezzünk a címkékre:
számozott lista címkék:

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

listajeles címkék:

var listType=prompt("Írja be az "1"-et a felsorolásjeles listához, a "2"-t a számozott listához");

  • Ellenőrizze a beírt értéket: egy számozott lista (1-es) esetén nyomtassa ki a címkét
      , a megjelölt (2-es számú) esetén - címke
        . Ha másik értéket ad meg, nyomtasson egy megjegyzést, és fejezze be a programot:

            ") else ( alert("Írja be a megfelelő típust"); kilépés; )

          • Változó inicializálása Kolvo a felhasználó által a modális ablakban megadott érték:
          • var kolvo=prompt("Adja meg a pontok számát");

          • Egy karakterlánc értékének numerikus értékké alakításához használja a parseInt függvényt:
          • for (var i=1; i<=kolvo; i++) document.write("");

          • Mivel a listák megfelelő címkékkel vannak lezárva, a záró címkéket a lista típusától függően adja ki:
          • if (listType== "1") document.write("" ) else if (listType== "2" ) document.write ("" ) ;

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

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

    1. Tesztelje a szkriptet egy böngészőben.
    2. Js 3_11. feladat.
      Írjon egy szkriptet, amely címkéket jelenít meg bemenet(vezérlőelemek) különböző típusúak, a beírt számtól függően:

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

      A megjelenített címkék számát is le kell kérni.

      Emlékezzünk a címkékre:

      1 - szövegmező esetén: 2 - gomb esetén: 3 - rádióhoz:

      Minta kimenet:

      Js 3_12. feladat. Rajzolj egy 9x9-es sakktáblát JavaScript for Loops használatával. A tábla "rajzolása" a táblázat html címkéit követi:

      Emlékezzünk a címkékre:

      <table border="1" width="30%"> <tr > <td >-</td> -</td> </tr> </tábla>

      --

      • 9 vonal rajzolásához meg kell szervezni egy külső for hurkot az i számlálóval.
      • Ha minden sorban 9 cellát szeretne rajzolni, egy belső (beágyazott) for ciklust kell szerveznie a j számlálóval.
      • A cella- és sorcímkék rajzolásához használja a document.write metódust.

      Eredmény:

      Ezen kívül:

      1. Jelenítse meg a szorzótáblát a táblázat celláiban a hurokszámlálók (i és j) segítségével.
      2. Az első sor és az első oszlop megjelenítése piros háttérrel (bgcolor táblázatcella attribútum):
        <tdbgcolor="red">-</td>

        -

      Eredmény:


      Kérdések az önkontrollhoz:

      1. Magyarázza el, mit jelent a „dinamikus oldalépítés” fogalma?
      2. Milyen nyelvi konstrukciót használnak leggyakrabban egy oldal dinamikus felépítése során?

      Loop utasítások javaScriptben – While

      A while utasítás szintaxisa a következő:

      while (feltétel) ( //..utasítás blokk.. );

      Példa: Megjelenítés egy párbeszédpanelben kettőtől maximumig 1000 (2, 4, 8...512). Használja az alert() metódust


      ✍ Megoldás:
      • Szkriptlista:
      • 1 2 3 4 5 var a = 1; míg (a< 1000 ) { a*= 2 ; alert(a) ; }

        var a = 1; míg (a< 1000){ a*=2; alert(a); }

        a*=2 → az összetett hozzárendelési műveletet használjuk: a hozzárendeléssel kombinált szorzat, azaz. ugyanaz, mint a = a*2

      • Tesztelje az eredményt egy böngészőben.

      Hogyan működnek a break és a folytatás utasítások a while ciklusban?

      Példa:

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

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

      Kettő hatványai jelennek meg legfeljebb 128 és az érték 64 kimarad. Azok. a párbeszédablakban a következőket fogjuk látni: 2 4 8 16 32 128

      Js 3_13. feladat. Milyen értékeket fog kiadni a következő kódrészlet?

      var számláló = 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 x bizonyos mértékig y egy while ciklus használatával. Változóértékek lekérdezése és az eredmény megjelenítése az alert() segítségével.

      Kód hozzáadása:

      1 2 3 4 5 6 7 8 9 var x = ...; variál = ...; számláló = 1 ; szám = x; while (...) ( chislo= x* ...; counter= ...; ) alert(chislo) ;

      var x = ...; variál = ...; számláló = 1; szám=x; while (...)( chislo=x*...; counter=...; ) alert(chislo);

      A Javítsa ki a hibát egy szám faktoriálisának megtalálására tervezett programban:

      1 2 3 4 5 6 7 8 9 10 11 12 13 var counter = prompt("Írjon be egy számot" ) ; var faktoriális = 1 ; document.write( "Egy szám faktorál:"+ számláló + "!= " ) ; do ( if (számláló == 0 ) ( faktoriális = 1 ; szünet ; ) faktoriális = faktoriális / számláló; számláló = számláló + 1 ; ) while (számláló > 0 ) ; document.write (faktoriális) ;

      var counter = prompt("Írjon be egy számot"); var faktoriális = 1; document.write("Szám faktorál: " + számláló + "! = "); do ( if (számláló == 0) ( faktoriális = 1; break; ) faktoriális = faktoriális / számláló; számláló = számláló + 1; ) while (számláló > 0); document.write(faktoriális);


      Js 3_16. feladat. Módosítsa a programot a felhasználói bevitelhez:

      Felhasználónév kérése mindaddig, amíg a felhasználó ténylegesen be nem írja a felhasználónevet (azaz a mezőt ténylegesen kitöltik, és meg nem nyomják a Mégse gombot). A név beírása után kimenet – Helló név!. dokumentum.

      Hogyan lehet megtalálni a hibákat a javascriptben?

      Egyes esetekben az oldalon található kód ismeretlen okból nem működik. Hol keressünk hibát? Ilyen esetekben használhatja a try..catch utasítást.

      A try..catch utasítás egy kódrészletet próbál végrehajtani, és ha hiba van a kódban, akkor lehetséges a hiba megjelenítése a képernyőn.
      A hiba az e.message objektumban tárolódik.

      Tekintsük az operátor működését egy példán:

      Példa:írjon egy hibás operátort a programba. Ellenőrizze, hogy nincs-e hiba a feltételezett hibás kódban: ha hiba van a kódban, küldjön üzenetet "hibakezelés: hiba neve". A hibás állítás ellenőrzése után, függetlenül attól, hogy van-e hiba a kódban, adjon ki egy üzenetet "befejező lépések"


      ✍ Megoldás:
      • Hibaüzenetként a prompt() metódust fogjuk használni, hibával írva - promt(). Zárja be a hibaüzenetet egy try blokkba:
      • alert("előtte"); try ( promt("szám megadása"); // hibás utasítás)

        Próbáld meg angolból. - "try", így a try utasítást egy olyan kódrészlet elé tesszük, amely esetleg hibát tartalmaz (esetünkben tényleg hiba van).

      • A hibaüzenetet egy catch blokkba kell helyezni:
      • 6 7 8 9 fogás (e) ( figyelmeztetés( "hibakezelés: "+e.üzenet); )

        catch(e) ( alert("hibakezelés: "+e.message); )

        Ha valóban hiba van, akkor a catch utasítás (az angol "to catch" szóból) eltárolja ezt a hibát az e objektumban. A jövőben egy párbeszédpanelen is megjeleníthető - e.message .

      • Tegye a végső üzenetet, amelyet meg szeretne jeleníteni, függetlenül attól, hogy van-e hiba a kódban, és tegye egy végső blokkba:
      • final ( alert("befejező műveletek"); ) alert("utána");

        Ha továbbra is hiba van, akkor az értelmező a példánkban szereplő kimenete után átvált a catch blokk végrehajtására, majd végül (az angol "completion", "finally" szóból), amely mindig végrehajtódik, függetlenül attól, hogy volt-e hiba vagy sem. Még akkor is, ha hiba történt a fogásblokkban.

      Fontos: Az utolsó blokk a konstrukcióban nem kötelező.


      Js 3_17. feladat. Futtassa a fenti példát a következő módosításokkal:

    3. Távolítsa el a végső blokkot, és nézze meg a kód futását.
    4. Cserélje ki a hiba operátort egy hibamentesre, és nézze meg, mi lesz az eredmény.
    5. Összegzés:

      A lecke a következő javascript nyelvi operátorokat és konstrukciókat fedte le:

      Javascript feltételes utasítások:

    6. ha nyilatkozat
    7. Feltételes hozzárendelés (hármas operátor)
    8. switch utasítás
    9. Loop utasítások:

    10. hurokhoz
    11. míg hurok
    12. do...while loop
    13. mert... hurokban
    14. Végső feladat Js 3_18.
      Hozz létre egy játékot két személynek:

      1. A program megkéri az első játékost, hogy írjon be egy számot 1 előtt 100 (a második játékos nem látja a beírt számot). Ezután a második játékosnak meg kell találnia a beírt számot. A válasz üzenet "kevés" vagy "sok" a beírt választól függően. Ha a játékos jól tippel, megjelenik a gratuláció. Ha nem talál ki, a játék folytatódik (amíg a számot ténylegesen ki nem találja).
      2. Számítsa ki a próbálkozások számát, és adja vissza az eredményt, ha a számot kitalálta.


      Kérdések az önkontrollhoz:

      1. Mikor célszerű For In hurkot használni? Mondjon példát a használatára.
      2. Mi a try..catch utasítás célja?
      3. Magyarázza el az egyes try..catch utasításblokkok célját.

      A mindennapi életben sokszor valamilyen feltételtől függően kell valamilyen döntést hozni. Például, ha hétvégén meleg az idő, akkor kimegyünk a tengerhez, ellenkező esetben, ha felhős lesz, otthon ülünk.

      A programozásban ez is nagyon gyakori. Ehhez vannak két feltételes utasítás, ezek az if-else és a switch-case. Ebben a cikkben az if-else utasításról fogok beszélni, a következő cikkben pedig a switch-case-ról.

      Az if-else feltételes utasítás szintaxisa következő:


      Ha a feltétel igaz, akkor az if blokk kódja hajtódik végre, ellenkező esetben, ha a feltétel hamis, akkor az else blokk kódja.

      A jobb megértés kedvéért vegyünk egy ilyen egyszerű példát, van egy bizonyos mennyiségű pénzünk és autót szeretnénk venni, és itt azonnal felmerül egy ilyen feltétel, ha van elég pénzünk, akkor meg tudjuk venni ezt az autót, különben nem tud.

      Var pénz = 35000; // Tegyük fel, hogy 35 000 eurónk van // A megvásárolni kívánt autó 50 000 euróba kerül. És a következő feltétel következik be if(money > 50000)( document.write("Vehetünk autót"); )else( document.write("Nincs elég pénz egy autó vásárlásához"); )

      Mentjük a dokumentumot, megnyitjuk a böngészőben, és látjuk, hogy a következő üzenet jelent meg az oldalon: "Nincs elég pénz egy autó vásárlásához." Ha több mint 50 000 eurónk lenne, akkor az if blokk kódja végrehajtásra kerülne. Ha pontosan 50 000 eurónk lenne, akkor szintén nem tudnánk autót venni, mert az 50 000 nem több 50 000-nél. Ahhoz, hogy ebben az esetben a feltétel igaz legyen, egy nagyobb vagy egyenlőségjelet kell írni ( >=) .

      Megjegyzés! Az egyenlő logikai műveletet két egyenlőségjellel írjuk (==). Van egy logikai művelet is kisebb vagy egyenlő, mint (

      göndör fogszabályozó segítségével

      Ha csak egy utasítás van, akkor a göndör zárójelek nem kötelezőek, ha egynél több utasítás van a blokkban, akkor a szögletes zárójelek használata kötelező.

      A fenti példa jól működik kapcsos zárójelek nélkül is, mivel mindkét blokk csak egy utasítást tartalmaz.

      Belül, ha bármilyen logikai műveletet írhat akár egyszerűek, akár összetettek. Használhatja az ÉS (&&) és VAGY (||) operátorokat is.

      Megjegyzés! Az else blokk jelenléte nem kötelező.

      Például, ha a egyenlő b-vel, és c egyenlő d-vel, akkor a megfelelő üzenetet jelenítjük meg, ellenkező esetben, ha nincs más blokk, akkor egyszerűen továbblépünk a következő sorra.

      Var a = 4, b = 4, c = 8, d = 8; if((a == b) && (c == d)) document.write("a egyenlő b-vel ÉS c egyenlő d-vel"); document.write("Kód következő sora");

      if-else ha-else kijelentés

      Az if blokk után egy vagy több else if blokk következhet, a végén pedig egy else blokk. Ez akkor hasznos, ha egynél több feltételt kell használnia.


      A jobb megértés érdekében vegyünk egy példát a mindennapi életből. Például van egy bizonyos számú üzletünk. Ha csak egy aljzat van a szobában, akkor csak egy készüléket csatlakoztathatunk, ha két aljzat, akkor két készüléket, ha pedig több, akkor a házból az összes készüléket csatlakoztathatjuk az elektromos hálózatra. .

      Most pedig térjünk át a programozásra.

      var foglalat = 2; // Aljzatok száma a házban if(socket == 1)  document.write("

      Csak egy eszközt tudunk csatlakoztatni

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

      Csak két eszközt tudunk csatlakoztatni

      "); document.write("

      Például TV és laptop

      "); )else( document.write("

      Otthonról minden eszközt be tudunk kötni az elektromos hálózatba

      "); }

      A socket változó értékétől függően egy vagy másik kódblokk működik. Amint valószínűleg már megértette, ha a socket egyenlő 1-gyel, akkor az első kódblokk fog működni. Ha a socket 2, akkor a második kódblokk fog működni, és ha a socketnek más értéke van (akár negatív szám is), akkor a harmadik kódblokk fog működni.

      A ha más szó rövidítése

      A rövidítés akkor használható, ha egy változó egy adott feltételtől függően kaphat egy vagy másik értéket.


      Például, ha az a változó értéke nagyobb, mint a b változó, akkor a következő üzenetet írjuk az x változóhoz: "Az a változó nagyobb, mint a b", ellenkező esetben azt írjuk, hogy "Az a változó kisebb, mint a b változó ".

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

      Változó a több változó b

      " : "

      Változó a Kevésbé változó b

      "; //Az eredmény kiadása document.write(x);

      Ennyit szerettem volna elmondani neked ebben a cikkben. Az if-else feltételes utasítást többször használják, mint minden szkriptben, ezért nagyon fontos ismerni és megérteni. A következő cikkben egy másik kis- és nagybetűs feltételes kijelentésről fogok mesélni.

      Ebben a példában először négy változót deklarálunk a var kulcsszóval, és azonnal numerikus értékeket rendelünk hozzájuk. Ezután a növelési és csökkentési operátorok segítségével megváltoztatjuk a számok értékeit. Az információk a funkció használatával jelennek meg visszhang(lásd a "" cikket). Hogy ne írjam le még egyszer az objektum nevét, a konstrukciót használtam val vel().

      Logikai operátorok

      A feltétel ellenőrzésénél logikai operátorokat használunk, hogy ne ismétlődjenek meg, egy rövidítést készítek: a bal operandus L.O., a jobb operandus pedig P.O.

      • && - Logikai "AND"
      • || - "VAGY"
      • ! - "NEM"
      • > - L.O. további P.O.
      • >= - L.O. nagyobb vagy egyenlő, mint P.O.
      • < - Л.О. меньше П.О.
      • <= - Л.О. меньше или равен П.О.
      • == - L.O. egyenlő P.O.
      • != - L.O. nem egyenlő a P.O.
      • |= - L.O. megegyezik önmagával VAGY P.O.
      • &= - L.O. egyenlő önmagával ÉS P.O.
      • ^= - KIZÁRÓLAGOS VAGY

      Most fontolja meg a következő szkriptet:

      //***************************************** // logikai műveletek// logic_if_else.js //***************************************** var a= 10 , b= 100 , WshShell, cím, msg1, msg2, msg3, msg4, vbInformation = 64 ; // Hozzon létre egy példányt a WScript.Shell osztályból WshShell = WScript.CreateObject("WScript.Shell" ) ; cím = "Munka az IF ELSE JS feltételes utasítással"; with(WshShell) ( if (a>= 5 && a<= 100 ) //истина msg1 = "TRUE" ; else msg1 = "FALSE" ; Popup (msg1, 5 , title, vbInformation) ; if (a>= 5 || b== 100 ) //true msg2 = "IGAZ" ; else msg2 = "HAMIS" ; Popup (msg2, 5 , title, vbInformation) ; //feltételes utasítás js ha más if (! a) //false msg3 = "IGAZ" ; else msg3 = "HAMIS" ; Popup (msg3, 5 , title, vbInformation) ; if (a&= 100 ) //false msg4 = "IGAZ" ; else msg4 = "HAMIS" ; Popup (msg4, 5 , title, vbInformation) ; )

      Az előző szkripthez hasonlóan itt is a konstrukciót használtam val vel hogy lerövidítse a kódot. Az információk megjelenítésére azonban a funkciót használtuk Felugrik(lásd a "" cikket). Ennek eredményeként a párbeszédpanelek néhány másodperc múlva automatikusan bezáródnak. Figyeljük meg, hogy ebben a példában nem használtunk göndör kapcsos zárójelet. a js if feltételes utasításban csak akkor relevánsak, ha nem egy sor kódot kell végrehajtani, hanem több.

      Végül nézzünk egy olyan gyakorlati példát, mint egy másodfokú egyenlet megoldása:

      // A másodfokú egyenlet megoldása// uravnenije_if_else.js // *********************************************************** var a, b, c, d, x, x1, x2; //Változók deklarálása a=-2; b=6; c=20; //A diszkrimináns keresése d= matematikai .pow (b, 2 ) - 4 * a * c; if (d== 0) (x= b/ (2*a) ; msg= "Az egyenletnek egy megoldása van, x pontosan"+ x ) else ( if (d> 0 ) ( x1= (- b+ Math .sqrt (d) ) / (2 * a) ; x2= (- b- Math .sqrt (d) ) / (2 * a) msg= "Az egyenletnek két megoldása van \n x1 pontosan"+ x1 + " \n x2 pontosan "+x2; // feltételes utasítás if else js) else msg= "Nincs megoldás" ; ) WScript.Echo (üzenet) ;