Šio interaktyvaus pavyzdžio šaltinis saugomas „GitHub“ saugykloje. Jei norite prisidėti prie interaktyvių pavyzdžių projekto, klonuokite https://github.com/mdn/interactive-examples ir atsiųskite mums užklausą.

Sintaksė

if (sąlyga) teiginys1 sąlyga Išraiška, kuri laikoma teisinga arba klaidinga . pareiškimas1 Teiginys, kuris vykdomas, jei sąlyga yra teisinga. Gali būti bet koks teiginys, įskaitant papildomus įdėtus if teiginius. Norėdami vykdyti kelis teiginius, naudokite blokinį teiginį (( ... )), kad sugrupuotumėte tuos teiginius. Jei nenorite vykdyti jokių teiginių, naudokite tuščią sakinį. pareiškimas2 Teiginys, kuris vykdomas, jei sąlyga klaidinga ir yra sąlyga else. Gali būti bet koks teiginys, įskaitant blokinius teiginius ir kitus įdėtus teiginius.

apibūdinimas

Galima įdėti kelis if...else teiginius, kad būtų sukurta sąlyga else if. Atminkite, kad JavaScript nėra kito (vienu žodžiu) raktinio žodžio.

If (sąlyga1) teiginys1 else if (sąlyga2) teiginys2 else if (sąlyga3) teiginys3 ... else teiginysN

Norėdami pamatyti, kaip tai veikia, taip atrodytų, jei lizdas būtų tinkamai įtrauktas:

If (sąlyga1) teiginys1 else if (sąlyga2) teiginys2 else if (sąlyga3) ...

Norėdami įvykdyti kelis sakinius, naudokite blokinį sakinį (( ... )), kad sugrupuotumėte tuos sakinius. Apskritai gera praktika visada naudoti blokinius teiginius, ypač kode, kuriame naudojami įdėtieji, jei teiginiai:

Jei (sąlyga) ( teiginiai1 ) else ( teiginiai2 )

Nepainiokite primityvių Būlio verčių teisingos ir klaidingos su Būlio objekto tikrumu ar klaidingumu. Bet kokia vertė, kuri nėra klaidinga , neapibrėžta , null , 0 , -0 , NaN arba tuščia eilutė („“), ir bet koks objektas, įskaitant Būlio objektą, kurio vertė yra klaidinga, laikomas tikru, kai naudojamas kaip sąlyga. Pavyzdžiui:

Varb = naujas Būlio reikšmė(klaidinga); jei (b) // ši sąlyga yra teisinga

Pavyzdžiai

Naudojant jei...kitaip

if (šifro_char === from_char) ( rezultatas = rezultatas + į_char; x++; ) else ( rezultatas = rezultatas + clear_char; )

Naudojant kitą, jei

Atminkite, kad „JavaScript“ nėra kitos sintaksės. Tačiau tu gali parašykite jį su tarpu tarp kito ir jei:

If (x > 50) ( /* daryk teisingai */ ) else if (x > 5) ( /* daryk teisingai */ ) else ( /* daryk teisingai */ )

Priskyrimas sąlyginėje išraiškoje

Sąlyginėje išraiškoje patartina nevartoti paprastų priskyrimų, nes žvilgtelėjus į kodą priskyrimas gali būti supainiotas su lygybe. Pavyzdžiui, nenaudokite šio kodo:

Jei (x = y) ( /* elkitės teisingai */ )

Jei sąlyginėje išraiškoje reikia naudoti užduotį, įprasta aplink užduotį dėti papildomų skliaustų. Pavyzdžiui:

Jei ((x = y)) ( /* elkitės teisingai */ )

Specifikacijos

Specifikacija Būsena komentuoti
ECMAScript naujausias juodraštis (ECMA-262)
Juodraštis
ECMAScript 2015 (6-asis leidimas, ECMA-262)
„if teiginio“ apibrėžimas toje specifikacijoje.
standartinis
ECMAScript 5.1 (ECMA-262)
„if teiginio“ apibrėžimas toje specifikacijoje.
standartinis
ECMAScript 3rd Edition (ECMA-262)
„if teiginio“ apibrėžimas toje specifikacijoje.
standartinis
ECMAScript 1st Edition (ECMA-262)
„if teiginio“ apibrėžimas toje specifikacijoje.
standartinis pradinis apibrėžimas

Naršyklės suderinamumas

Šiame puslapyje esanti suderinamumo lentelė sukurta iš struktūrinių duomenų. Jei norite prisidėti prie duomenų, apsilankykite https://github.com/mdn/browser-compat-data ir atsiųskite mums užklausą.

Atnaujinkite GitHub suderinamumo duomenis

DarbalaukisMobilusisserveris
ChromekraštasFirefoxInternet Explorer Operasafari„Android“ žiniatinklio peržiūra„Chrome“, skirta „Android“.„Firefox“, skirta „Android“.Opera, skirta Android„Safari“ „iOS“.Samsung internetasNode.js
jei...kitaipVisiškas „Chrome“ palaikymas 1„Edge“ pilnas palaikymas 12Visiškas „Firefox“ palaikymas 1Visiškas IE palaikymas 3Opera Visiškas palaikymas TaipVisiškas „Safari“ palaikymas TaipWebView Android Visas palaikymas 1„Chrome Android“ Visas palaikymas 18„Firefox Android“ Visiškas palaikymas 4Opera Android Visas palaikymas Taip„Safari iOS“ Visiškas palaikymas TaipSamsung Internet Android Visas 1.0 palaikymasnodejs Visiškas palaikymas Taip

Reg.ru: domenai ir priegloba

Didžiausias registratorius ir prieglobos paslaugų teikėjas Rusijoje.

Daugiau nei 2 milijonai domenų vardų.

Reklama, paštas domenui, sprendimai verslui.

Savo pasirinkimą jau padarė daugiau nei 700 tūkstančių klientų visame pasaulyje.

Bootstrap Framework: greitai reaguojantis išdėstymas

Žingsnis po žingsnio vaizdo kursas apie pagrindus adaptyvus išdėstymas„Bootstrap“ sistemoje.

Išmokite rinkti paprastai, greitai ir efektyviai, naudodami galingą ir praktišką įrankį.

Atlikite užsakymą ir gaukite pinigų.

* Užveskite pelės žymeklį, kad pristabdytumėte slinkimą.

Atgal į priekį

Funkcijos ir „jei-kita“ sąlygos „JavaScript“.

Dažnai su naudojant JavaScript yra poreikis atlikti skirtingi veiksmai skirtingomis sąlygomis.

Pavyzdžiui, parašėte scenarijų, kuris patikrina, kurią naršyklę lankytojas naudoja lankydamasis jūsų svetainėje. Jei tai Internet Explorer, reikėtų įkelti specialiai IE skirtą puslapį, jei tai bet kuri kita naršyklė – kitą šio puslapio versiją.

Bendra if-else konstrukcijos sintaksė yra tokia:

If (sąlyga) ( action ) else ( action2 );

Kaip pavyzdį apsvarstykite šį kodą:

If (naršyklė=="MSIE") ( alert("Jūs naudojate IE") ) else ( alert("Jūs nenaudojate IE") );

Atminkite, kad naudojamos visos mažosios raidės. Jei parašysite „IF“, įvyks klaida.

Taip pat atkreipkite dėmesį, kad palyginimui naudojamas dvigubas lygybės ženklas (==).

Jei rašysime naršyklė = "MSIE", tada tiesiog priskiriame reikšmę MSIE kintamasis pavadintas naršyklė.

Kai rašome naršyklė=="MSIE", tada JavaScript „supranta“, kad norime lyginti, o ne priskirti reikšmę.

Daugiau sunkiomis sąlygomis jeigu galima sukurti tiesiog pridedant juos, pavyzdžiui, prie dalies Kitas jau egzistuojanti struktūra jei-kitaip:

If (condition) ( action1 ) else ( if (other condition) ( action2 ) else ( action3 ); );

Pavyzdžiui:

If (browser=="MSIE") ( alert("Jūs naudojate IE") ) else ( if (browser=="Netscape") ( alert("Jūs naudojate Firefox") ) else ( alert("Jūs naudojate neatpažinta naršyklė: )")); );

Loginiai operatoriai AND, OR ir NOT

Dar lankstesniam dizaino naudojimui jei-kitaip gali būti naudojami vadinamieji loginiai operatoriai.

Ir parašyta kaip && ir naudojamas, kai reikia patikrinti daugiau nei vieną sąlygą.

Pvz.: Jei šaldytuve yra kiaušinių, o šaldytuve yra šoninės, tai mes galime valgyti kiaušinius su šonine.

Sintaksė yra tokia:

If (sąlyga1 && sąlyga2) ( veiksmas ) if (valanda==12 && minutė==0) ( alert("Vidurdienis!") );

Arba parašyta kaip || ir naudojamas, kai norime patikrinti bent vienos iš dviejų ar daugiau sąlygų teisingumą. (Galite gauti || laikydami Shift klavišas ir klavišą \)

Pvz.: Jei šaldytuve yra pieno arba šaldytuve yra vandens, tada turime ko atsigerti.

Sintaksė yra tokia:

If (sąlyga1 || sąlyga2) ( veiksmas ) if (valanda==11 || valanda==10) ( alert("Dar ne vidurdienis!") );

Ne parašyta kaip ! ir naudojamas neigimui.

Pvz.: Jei šaldytuve nėra kiaušinių ar šoninės, tai negalime valgyti nei kiaušinių, nei šoninės.

Sintaksė yra tokia:

If (!(sąlyga)) ( veiksmas ) if (!(valanda==11)) ( alert("Tai ne 11 valanda") );

Funkcijos JavaScript

Užuot tiesiog pridėję „Javascript“ į puslapį, kad naršyklė vykdytų kodą, kai jį pasiekia, galite nustatyti, kad scenarijus būtų paleistas tik tada, kai suaktyvinamas įvykis.

Pavyzdžiui, tarkime, kad sukūrėte „JavaScript“, kurio užduotis yra pakeisti puslapio fono spalvą paspaudus tam tikrą mygtuką. Tokiu atveju reikia „pasakyti“ naršyklei, kad šis scenarijus neturėtų būti vykdomas vien dėl to, kad eilė jį pasiekė.

Kad naršyklė nevykdytų scenarijaus, kai jis įkeliamas, turite parašyti scenarijų kaip funkciją.

Tokiu atveju „JavaScript“ kodas nebus vykdomas tol, kol „neprašysime“ to padaryti specialiu būdu.

Žiūrėti į pateiktas pavyzdys scenarijus, parašytas kaip funkcija:

Spustelėkite mygtuką, kad pamatytumėte, ką daro šis scenarijus:

Jei linija įspėjimas ("Sveiki atvykę!"); nebūtų įrašytas funkcijos viduje, tada jis būtų vykdomas, kai naršyklė pasieks šią eilutę. Bet kadangi mes ją parašėme funkcijoje, ši eilutė nevykdoma, kol nepaspaudžiame mygtuko.

Funkcijos iškvietimas (ty iškvietimas į jį) įvyksta šioje eilutėje:

Kaip matote, formoje įdėjome mygtuką ir įtraukėme įvykį onClick="myfunction()" mygtukui.

Būsimose pamokose apžvelgsime kitų tipų įvykius, kurie suaktyvina funkcijas.

Bendra funkcijų sintaksė yra tokia:

Funkcijos funkcijos pavadinimas(kintamasis1, kintamasis2,..., kintamasisN) (// Čia pateikiamas funkcijos turinys, ką ji daro)

Petnešos: { ir } nurodyti funkcijos pradžią ir pabaigą.

Tipiška klaida kuriant funkcijas yra nerūpestingumas ir didžiųjų ir mažųjų raidžių svarbos ignoravimas. Žodis funkcija turėtų būti tiksliai funkcija. Parinktis funkcija arba FUNKCIJA sukels klaidą.

Be to, naudojimas Didžiosios raidės taip pat vaidina vaidmenį įvardijant kintamuosius. Jei turite funkciją, pavadintą mano funkcija (), tada bandoma tai spręsti kaip mano funkcija (), MYFUNCTION () arba Mano funkcija () sukels klaidą.

Patiko medžiaga ir norite padėkoti?
Tiesiog dalinkitės su draugais ir kolegomis!


Taip pat žiūrėkite:

var a = 10; varb = (a>1) ? 100:200; įspėjimas(b);

Jei sąlyga a>1 tiesa, tada kintamasis b priskirti vertę 100 , kitu atveju kintamajam b priskiriama reikšmė 200 .

Užduotis Js 3_4. Papildykite kodą: 3 vietiniai kintamieji deklaruojami naudojant raktažodį var. Max kintamajam reikia priskirti tokio trejeto operatoriaus reikšmę: jei a didesnis už b , tada grąžina a , kitu atveju grąžina b .
Kodo fragmentas:

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


Klausimai savikontrolei:

  1. Kokia yra trijų dalių operatoriaus sintaksė?
  2. Kiek argumentų turi trijų dalių operatorius?

Perjungti sakinį javaScript – jungiklis

„Javascript“ jungiklio sakinys skirtas kintamajam patikrinti kelioms reikšmėms:

Sintaksė:

jungiklis (kintamasis arba išraiška) (1 variantas: //..teiginių blokas.. nutraukti didžiųjų ir mažųjų raidžių 2 parinktį: //..teiginių blokas.. nutraukti numatytuosius nustatymus: //..teiginių blokas.. )

Patikrinama kintamojo ar išraiškos reikšmė: kiekviename atveju patikrinama viena iš reikšmių, esant tinkamai reikšmei, vykdomas vienas ar kitas teiginių blokas, atitinkantis duotą atveju.

Blokas prasideda nuo oficialus žodis numatytasis gali būti praleistas. Blokavimo teiginiai bus vykdomi, jei nebus pateikta nė viena iš išvardytų reikšmių atveju netinka.

Svarbu: Pertraukos teiginys reikalingas po kiekvienos svarstomos kintamojo reikšmės (po kiekvienos atveju); jei jis nenaudojamas, bus rodomi visi žemiau pateikti teiginiai

Palyginkite su operatoriumi JEI:

var a = 2; jungiklis(a) ( 0 atvejis: // if (a === 0) 1 atvejis: // if (a === 0) alert ("Nulis arba vienas"); // tada išvestis... pertrauka; atvejis 2: // if (a === 2) alert("Du"); // tada išvestis... pertrauka; numatytasis: // else alert("Daugelis"); // kitaip išvestis... )

Kaip sugrupuoti kelias parinktis?

Norint vykdyti tuos pačius teiginius, galima sugrupuoti kelis atveju. Kaip ir aukščiau pateiktame pavyzdyje:

0 atvejis: 1 atvejis: įspėjimas ("Nulis arba vienas"); pertrauka; ...

Kai a = 0 ir a = 1, vykdomas tas pats sakinys: alert("Nulis arba vienas");

4 pavyzdys: Paprašykite vartotojo įvesti spalvą. Siųsti vertimą į Anglų kalbaįvesta spalva. Dėl spalvos "mėlyna" ir "mėlyna" gaminti tą pačią vertę.


✍ Sprendimas:
  • Sukurkite tinklalapį su html skeletu ir žyma scenarijus.
  • Inicijuoti kintamąjį spalva
  • var color = prompt("Kokia spalva?" );

    var color = prompt("Kokia spalva?");

  • Patikrinkite kintamojo reikšmę su konstrukcija jungiklis, kiekvienai vertei išvedant atitinkamą vertimą:
  • jungiklis (spalva) ( raidė "raudona" : alert ("raudona"); pertrauka; raidė "žalia": įspėjimas ("žalia"); pertrauka; // ...

    Jei kintamasis spalva turi reikšmę "raudona", tada išvesti į modalinis langas vertimas - "raudona" ir išeiti iš konstrukcijos (pertrauka;). Jei kintamasis spalva turi reikšmę "green", tada modaliniame lange parodykite vertimą - "green" ir išeikite iš konstrukcijos (pertrauka;).

  • Dėl gėlių "mėlyna" ir "mėlyna" atlikite grupavimą:
  • // ... raidė "mėlyna": raidė "mėlyna": alert("mėlyna"); pertrauka; //...

    Jei kintamasis spalva turi reikšmę "mėlyna" arba kintamoji spalva turi reikšmę "mėlyna", tada modaliniame lange parodykite vertimą - "mėlyna" ir išeikite iš konstrukcijos (pertrauka;).

  • Sutvarkykite išvestį toms spalvoms, kurių nepateikia programa:
  • // ... numatytasis : alert( "Neturime informacijos apie šią spalvą") ) // galinis jungiklis

    // ... default: alert("y mes neturime informacijos apie šią spalvą") ) // jungiklio pabaiga

  • Išbandykite scenarijų naršyklėje.

Js 3_6 užduotis. Raskite ir ištaisykite klaidas šiame kodo fragmente:

14 15 16 17 varnumber = prompt( "Įveskite skaičių 1 arba 2:") ; jungiklis (skaičius) ( atvejis "1" ( document.write ("Vienas" ) ; ) ; pertrauka ; atvejis "2" ( document.write ("Du" ) ; ) ; pertrauka ; numatytasis ( document.write ( „Įvedėte kitą reikšmę nei 1 ir 2“) ; } ; }

var number = prompt("Įveskite skaičių 1 arba 2:"); jungiklis (skaičius) ( atvejis "1" ( document.write("One"); ); pertrauka; atvejis "2" ( document.write("Du"); ); pertrauka; numatytasis ( document.write("Įvedėte kitokia nei 1 ir 2 vertės");))


Užduotis Js 3_7. Kas bus rodoma ekrane, kai bus vykdomas šis kodas?:

1 2 3 4 5 6 7 8 9 10 11 12 13 var reikšmė = "2" ; jungiklis (reikšmė) (atvejis "1" : atvejis "2" : atvejis "3" : document.write ("Labas" ) ; pertrauka ; atvejis "4" : atvejis "5" : document.write ("Pasaulis" ); numatytoji: document.write("Klaida") ;)

var reikšmė = "2"; jungiklis (reikšmė) (atvejis "1": atvejis "2": atvejis "3": document.write("Labas"); pertrauka; atvejis "4": atvejis "5": document.write("Pasaulis" ); numatytoji: document.write("Klaida"); )


Js 3_8 užduotis. Paklauskite vartotojo numerio – varnų skaičiaus ant šakos. Priklausomai nuo įvesto skaičiaus (ne daugiau kaip 10), rodomas pranešimas: - Sėdi ant šakos 1 varna- Sėdi ant šakos 4 varnos- Sėdi ant šakos 10 varnų

  1. Priklausomai nuo įvesto skaičiaus, keičiasi žodžio pabaiga. "varna".
  2. Norėdami patikrinti, naudokite javascript jungiklio teiginį.
  3. Sutaupyti šitas puslapis rezultatų aplanke (pravers tolimesniam darbui).


Klausimai savikontrolei:

  1. Tokiu atveju tinka kaip sąlyginis operatorius naudoti konstrukciją jungiklis?
  2. Kokia numatytojo bloko paskirtis sakinyje jungiklis?
  3. Ar būtina konstrukcijoje naudoti pertraukos teiginį jungiklis?
  4. Kaip atliekamas kelių operatoriaus verčių parinkčių grupavimas jungiklis?

Cikliniai sakiniai javaScript – For

Sintaksė:

for(pradinė skaitiklio vertė; sąlyga; skaitiklio padidėjimas) ( //..teiginių blokas.. )

Svarbu:„Javascript for loop“ naudojamas, kai iš anksto žinoma, kiek kartų cikliniai veiksmai turi būti kartojami (kiek ciklo iteracijų)

  • Priskyrimo išraiška naudojama kaip pradinė iteracijos skaitiklio reikšmė: pavyzdžiui, i=0 – ciklo skaitiklis prasideda nuo nulio:
  • for(var i = 0; sąlyga; skaitiklio padidėjimas) ( //.. teiginio blokas.. )

  • Kaip skaitiklio prieaugis nurodomas žingsnis, kuriuo skaitiklis turėtų didėti: pavyzdžiui, nurodo, kad kiekvieną ciklo iteraciją lydės jo padidėjimas 1 :
  • for(var i = 0; sąlyga; i++) ( //..teiginių blokas.. )

  • Ciklo sąlyga yra skaitiklio pabaigos reikšmė: pavyzdžiui, i10 sustabdo ciklą:
  • for(var i = 0; i<10; i++) { //..блок операторов.. }

Apsvarstykite pavyzdį, kaip naudoti „for“ ciklo javascript:

5 pavyzdys: Išveskite skaičių seką 0 1 2 3 ... 9 , kiekvienas skaitmuo – iš naujos eilutės. 0 1 2 ... 8 9


✍ Sprendimas:
  • Norėdami parodyti skaičių seką, naudosime for ciklo skaitiklį, kuris turėtų pakeisti savo reikšmę nuo 0 prieš 9 pagal seką.
  • Taigi už pradinė kilpos skaitiklio reikšmė nustatykite vertę į 0 ; kaip ciklo sąlygos nustatyti galutinę reikšmę - ii=9; priešpriešinis žingsnis turi būti lygus 1 (i++), nes skirtumas tarp sekos narių yra vienas:
  • už (var i = 0; i<10; i++) { document.write(i+"
    "); }

    Pavyzdyje kilpos skaitiklio reikšmės rodomos ekrane, nes ekrane bus rodomas atitinkamai i++ skaitiklio padidėjimas 0 1 2 3 ... 9 , o kiekvienas skaitmuo – iš naujos eilutės (žyma
    ).

  • Išbandykite scenarijų naršyklėje.

Užduotis Js 3_9. 1 prieš 15 .

  1. Naudokite kilpų skaitiklį kaip skaičių seką dėl.
  2. Sumatoriaus kintamajam naudokite kintamojo identifikatorių suma.

Kodo fragmentas:

Dėl (var i=...;...;...)( suma = suma + ...; ) ...

Ciklo išėjimo teiginiai pertrauka ir Tęsti JavaScript. operatorius išeiti

Pertraukos sakinys nutraukia viso ciklo korpuso vykdymą, t.y. ištrūksta iš javaScript ciklo.

Nors teiginys tęsti nutraukia dabartinės ciklo iteracijos vykdymą, tačiau tęsia ciklo vykdymą nuo kitos iteracijos.

Apsvarstykite pertraukos veikimą ir tęskite teiginius naudodami pavyzdį:

Pavyzdys: Supraskite kodo fragmento algoritmą. Kas bus išvestis?

Kodo fragmentas:

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

for (var i=0;i<10;i++) { if (i==4) continue; document.write(i+"
"); jei (i==8) pertrauka; )


✍ Sprendimas:
  • Trečioje pavyzdžio eilutėje yra sąlyga, dėl kurios skaičius 4 nebus rodomas: operatorius Tęsti pereis į kitą ciklo iteraciją, neužbaigęs dabartinės.
  • 5 eilutėje kilpa išeina, bet skaičius 8 bus atspausdintas ekrane, nes išvesties sakinys pateikiamas prieš sąlygą (4-oje eilutėje). Susipažinęs pertrauka, vertėjas išeis iš ciklo.
  • Tai. ekrane bus: 0 1 2 3 5 6 7 8 - kiekvienas skaitmuo naujoje eilutėje.

Užduotis Js 3_10. Išspausdinkite visų sveikųjų skaičių sumą 1 prieš 15 , neįskaitant bendro skaičiaus 5 ir 7 .

Išėjimo pareiškimas

„Javasctipt“ kalba suteikia operatorių, skirtą išeiti iš programos kodo – išėjimo operatorių.
Dažniausiai operatorius naudojamas pašalinti vartotojo įvesties klaidą.


Apsvarstykite pavyzdį:

6 pavyzdys: Paprašykite vartotojo įvesti numerį. Jei ne skaičius, tada parodykite pranešimą "Reikia numerio!" ir sustabdyti programą.


✍ Sprendimas:
  • Inicijuoti kintamąjį numerį reikšmė, kurią vartotojas įvedė modaliniame lange:
  • var number = prompt("Įveskite numerį");

  • Naudodami funkciją parseInt, norėdami konvertuoti eilutę į sveikąjį skaičių, patikrinkite, ar įvesties reikšmė yra skaičius:
  • skaičius=parseInt(skaičius); // grąžina NaN – ne skaičių

    Jei įvedamas ne skaičius, funkcija grąžins NaN reikšmę. ne skaičius- ne skaičius).

  • Patikrinkite kintamąją vertę numerį naudojant funkciją isNaN:
  • x = yraNaN(skaičius); // grąžins true, jei reikšmė nėra skaitinė

    isNaN funkcija grąžina reikšmę tiesa jei kintamasis nėra skaičius

  • Autorius „melo“ taisyklė organizuoti kintamos vertės patikrinimą x. Jei reikšmė nėra skaitinė, išspausdinkite atitinkamą pastabą ir užbaikite programą:
  • if (x)( alert("Reikalingas numeris!"); išeiti; // išeiti iš programos )

  • Norėdami tęsti programą (jei įvesta reikšmė buvo skaičius), parodykite šį langą, kuriame raginama įvesti:
  • alert("Įveskite antrą numerį");// jei įvesite ne skaičių, operatorius nebus vykdomas

  • Išbandykite scenarijų naršyklėje.

Klausimai savikontrolei:

  1. Išvardykite tris kilpos parametrus dėl ir paaiškinkite jų paskirtį.
  2. Kurie teiginiai yra skirti išeiti iš ciklo ir jį nutraukti? Pateikite jų naudojimo pavyzdžių.
  3. Kam skirtas operatorius? išeiti?

Ar galima turėti kelis skaitiklius viename FOR?

Naudojantis galimas įdomus darbas su for kilpa vienu metu du skaitikliai cikle.
Apsvarstykite pavyzdį:

7 pavyzdys: Naudodami scenarijų išspausdinkite šias kintamųjų ir reikšmių poras trimis eilutėmis: i=0 j=2 i=1 j=3 i=2 j=4


✍ Sprendimas:
  • Sutvarkykite du skaitiklius for cikle: skaitiklis i sekai išvesti 0 1 2 , skaitiklis j sekai išvesti 2 3 4 :
  • 1 2 3 už (i = 0, j = 2; i< 10 , j< 5 ; i++, j++ ) { }

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

    Kiekvienas iš trijų for ciklo parametrų dabar turi dvi reikšmes, kurios yra išvardytos atskirti kableliais(pvz., pirmasis parametras su dviem reikšmėmis: i=0, j=2). Pateikiami patys parametrai per kabliataškį(;).

  • Norėdami išvesti iš kiekvienos eilutės, naudokite žymą
    :
  • 1 2 3 4 už (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);)

Puslapių generavimas „skraidydamas“: kaip yra?

Prieš atlikdami kitą užduotį, apsvarstykite pavyzdį dinamiškai kuriant html puslapį naudojant javascript.

8 pavyzdys:

  • Reikia dinamiškai generuoti suženklintus ir sunumeruotus sąrašus tinklalapyje pagal vartotojo įvestį: paraginkite vartotoją įvesti Sarašas(sunumeruotas (skaičius 1) arba su ženkleliais (numeris 2)), ir tada sąrašo elementų skaičius.
  • Priklausomai nuo atsakymo, rodykite ženklelių arba sunumeruoto sąrašo žymas su reikiamu elementų skaičiumi.
  • Jei įvedamas neegzistuojantis sąrašo tipas, pateikite pranešimą "Įveskite tinkamą tipą!" ir išeikite iš programos ().

Prisiminkime žymes:
sunumeruotos sąrašo žymos:

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

Žymos su ženkleliais sąraše:

var listType=prompt("Įveskite "1" sąraše su ženkleliais, "2" - sunumeruotam sąrašui");

  • Patikrinkite įvestą reikšmę: sunumeruotam sąrašui (numeris 1) atspausdinkite žymą
      , pažymėtam (skaičiumi 2) - žyma
        . Jei įvedama kita reikšmė, išspausdinkite pastabą ir užbaikite programą:

            ") else ( alert ("Įveskite teisingą tipą"); išeiti; )

          • Inicijuoti kintamąjį Kolvo reikšmė, kurią vartotojas įvedė modaliniame lange:
          • var kolvo=prompt("Įveskite taškų skaičių");

          • Norėdami konvertuoti eilutės reikšmę į skaitinę reikšmę, naudokite funkciją parseInt:
          • už (var i = 1; i<=kolvo; i++) document.write("");

          • Kadangi sąrašai uždaromi atitinkamomis žymomis, išveskite uždarymo žymas, priklausomai nuo sąrašo tipo:
          • if (listType== "1") document.write("" ) else if (listType== "2" ) document.write ("" ) ;

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

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

    1. Išbandykite scenarijų naršyklėje.
    2. Užduotis Js 3_11.
      Parašykite scenarijų, kuriame būtų rodomos žymos įvestis(valdymo elementai) įvairių tipų, atsižvelgiant į įvestą skaičių:

      1 - teksto laukas,
      2 - mygtuką,
      3 - radijas(jungiklis).

      Taip pat reikia pateikti užklausą dėl rodomų žymų skaičiaus.

      Prisiminkime žymes:

      1 – teksto laukas: 2 mygtukui: 3 – radijas:

      Išvesties pavyzdys:

      Js 3_12 užduotis. Nupieškite 9x9 šaškių lentą naudodami javascript kilpoms. „Piešiant“ lentą vadovaujamasi lentelės html žymomis:

      Prisiminkime žymes:

      <lentelės kraštinė="1" width="30%"> <tr > <td >-</td> -</td> </tr> </lentelė>

      --

      • Norėdami nubrėžti 9 eilutes, turite sukurti išorinę kilpą su skaitikliu i .
      • Norėdami nupiešti 9 langelius kiekvienoje eilutėje, turite sutvarkyti vidinę (įdėtą) kilpą su skaitikliu j .
      • Norėdami piešti langelių ir eilučių žymas, naudokite document.write metodą.

      Rezultatas:

      Papildomai:

      1. Pateikite daugybos lentelę lentelės langeliuose naudodami kilpų skaitiklius (i ir j).
      2. Rodyti pirmąją eilutę ir pirmąjį stulpelį raudoname fone (lentelės langelio atributas bgcolor):
        <tdbgcolor="red">-</td>

        -

      Rezultatas:


      Klausimai savikontrolei:

      1. Paaiškinkite, ką reiškia sąvoka „dinaminis puslapio kūrimas“?
      2. Kokia kalbos konstrukcija dažniausiai naudojama kuriant puslapį dinamiškai?

      Ciklo teiginiai „JavaScript“ – Nors

      Teiginio while sintaksė yra tokia:

      while (sąlyga) ( //..teiginių blokas.. );

      Pavyzdys: Rodyti dialogo lange galios nuo dviejų iki 1000 (2, 4, 8...512). Naudokite alert() metodą


      ✍ Sprendimas:
      • Scenarijaus sąrašas:
      • 1 2 3 4 5 var a = 1; kol (a< 1000 ) { a*= 2 ; alert(a) ; }

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

        a*=2 → naudojama sudėtinė priskyrimo operacija: sandauga sujungta su priskyrimu, t.y. toks pat kaip a = a*2

      • Patikrinkite rezultatą naršyklėje.

      Kaip pertraukti ir tęsti teiginius veikia o ciklo metu?

      Pavyzdys:

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

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

      Dviejų galios bus rodomos iki 128 imtinai ir vertę 64 bus praleistas. Tie. dialogo languose pamatysime: 2 4 8 16 32 128

      Js 3_13 užduotis. Kokias reikšmes išves šis kodo fragmentas?

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


      Js 3_14 užduotis. Parašykite statybos kodą X iki laipsnio y naudojant trumpąją kilpą. Pateikite užklausą kintamųjų reikšmių ir parodykite rezultatą su alert() .

      Pridėti kodą:

      1 2 3 4 5 6 7 8 9 var x = ...; keisti =...; skaitiklis = 1; skaičius = x; while (...) ( chislo= x* ...; counter= ...; ) alert(chislo) ;

      var x = ...; keisti =...; skaitiklis = 1; skaičius=x; while (...)( chislo=x*...; counter=...; ) alert(chislo);

      A Ištaisykite klaidą programoje, skirtoje skaičiaus faktorialui rasti:

      1 2 3 4 5 6 7 8 9 10 11 12 13 var counter = prompt("Įveskite skaičių" ) ; vari faktorialas = 1 ; document.write( „Skaičiaus faktorius:“+ skaitiklis + "!=" ); do ( if (skaitiklis == 0 ) ( faktorialas = 1 ; pertrauka ; ) faktorialas = faktorialas / skaitiklis; skaitiklis = skaitiklis + 1 ; ) while (skaitiklis > 0 ) ; dokumentas.rašyti (fakcinis) ;

      var counter = prompt("Įveskite skaičių"); vari faktorialas = 1; document.write("Skaičiaus faktorius: " + skaitiklis + "! = "); do ( if (skaitiklis == 0) ( faktorialas = 1; pertrauka; ) faktorialas = faktorialas / skaitiklis; skaitiklis = skaitiklis + 1; ) while (skaitiklis > 0); document.write(factorial);


      Užduotis Js 3_16. Pakeiskite vartotojo įvesties programą:

      Prašyti vartotojo vardo, kol vartotojas iš tikrųjų įveda vartotojo vardą (t. y. laukas iš tikrųjų bus užpildytas ir nepaspaudžiamas atšaukimo klavišas). Įvedus pavadinimą, tada išvesti "Labas vardas!". dokumentas.

      Kaip rasti klaidas javascript?

      Kai kuriais atvejais puslapyje esantis kodas neveikia dėl nežinomos priežasties. Kur ieškoti klaidos? Tokiais atvejais galite naudoti try..catch teiginį.

      Try..catch sakinys bando įvykdyti kodo fragmentą, o jei kode yra klaida, tada galima klaidą parodyti ekrane.
      Klaida išsaugoma e.message objekte.

      Apsvarstykite operatoriaus veikimą pavyzdyje:

      Pavyzdys: parašyti operatorių su klaida programoje. Patikrinkite, ar tariamai klaidingame kode nėra klaidos: jei kode yra klaida, išsiųskite pranešimą "klaidų tvarkymas: klaidos pavadinimas". Patikrinus klaidingą teiginį, neatsižvelgiant į tai, ar kode yra klaida, išduokite pranešimą "baigiamieji žingsniai"


      ✍ Sprendimas:
      • Kaip klaidos pranešimą naudosime prompt() metodą, parašytą su klaida - promt (). Įtraukite klaidos pranešimą į bandomąjį bloką:
      • įspėjimas ("prieš"); try ( promt ("įveskite numerį"); // teiginys su klaida )

        Bandyk iš anglų kalbos. - "try", taigi try teiginį dedame prieš kodo fragmentą, kuriame gali būti klaida (mūsų atveju klaida tikrai yra).

      • Klaidos pranešimas turėtų būti įdėtas į gaudymo bloką:
      • 6 7 8 9 sugauti (e) ( įspėjimas ( "klaidų tvarkymas:"+e.pranešimas); )

        catch(e) ( alert("klaidų apdorojimas: "+e.message); )

        Jei tikrai yra klaida, tai catch teiginys (iš anglų kalbos "to catch") išsaugo šią klaidą objekte e. Ateityje jis gali būti rodomas dialogo lange - e.message .

      • Įdėkite paskutinį pranešimą, kurį norite rodyti, nepaisant to, ar kode yra klaida, įdėkite jį į galutinį bloką:
      • final ( alert("baigimo veiksmai"); ) alert("po");

        Jei vis tiek yra klaida, vertėjas, po jo išvesties mūsų pavyzdyje, pereis prie gaudymo bloko vykdymo, o tada galiausiai (iš anglų kalbos "completion", "final"), kuris visada bus vykdomas, nepaisant ar buvo klaida, ar ne. Net jei gaudymo bloke įvyko klaida.

      Svarbu: Galutinis blokas konstrukcijoje yra neprivalomas.


      Užduotis Js 3_17. Vykdykite aukščiau pateiktą pavyzdį su šiais pakeitimais:

    3. Pašalinkite galutinį bloką ir stebėkite, kaip veikia kodas.
    4. Pakeiskite klaidos operatorių klaidos neturinčiu operatoriumi ir pažiūrėkite, koks bus rezultatas.
    5. Santrauka:

      Pamoka apėmė šiuos javascript kalbos operatorius ir konstrukcijas:

      Javascript sąlyginiai teiginiai:

    6. jei teiginys
    7. Sąlyginis priskyrimas (trečias operatorius)
    8. perjungimo pareiškimas
    9. Ciklo teiginiai:

    10. už kilpą
    11. o kilpa
    12. do...when loop
    13. už... kilpoje
    14. Galutinė užduotis Js 3_18.
      Sukurkite žaidimą dviems:

      1. Programa paprašo pirmojo žaidėjo įvesti skaičių iš 1 prieš 100 (antras žaidėjas nemato įvesto numerio). Tada antrojo žaidėjo prašoma atspėti įvestą skaičių. Atsakymas yra pranešimas "mažai" arba "daug" priklausomai nuo įvesto atsakymo. Jei žaidėjas atspėja teisingai, rodomi sveikinimai. Jei jis neatspėja, žaidimas tęsiamas (kol iš tikrųjų atspėjamas skaičius).
      2. Apskaičiuokite bandymų skaičių ir atspėję skaičių grąžinkite rezultatą.


      Klausimai savikontrolei:

      1. Kada tikslinga naudoti For In kilpą? Pateikite jo naudojimo pavyzdį.
      2. Koks try..catch teiginio tikslas?
      3. Paaiškinkite kiekvieno try..catch teiginio bloko tikslą.

      Kasdieniame gyvenime dažnai tenka priimti kokį nors sprendimą, priklausomai nuo kokios nors sąlygos. Pavyzdžiui, jei savaitgalį šiltas oras, tada važiuosime prie jūros, kitu atveju, jei debesuota, sėdėsime namuose.

      Programavime tai taip pat labai įprasta. Tam yra du sąlyginiai teiginiai, tai yra if-else ir switch-case. Šiame straipsnyje papasakosiu apie teiginį „jei-kitas“, o kitame – apie keitimo raidę.

      Sąlyginio sakinio if-else sintaksė Kitas:


      Jei sąlyga teisinga, tada vykdomas kodas iš if bloko, kitu atveju, jei sąlyga klaidinga, vykdomas kodas iš else bloko.

      Geresniam supratimui paimkime tokį paprastą pavyzdį, mes turime tam tikrą pinigų sumą ir norime nusipirkti automobilį, o čia iš karto atsiranda tokia sąlyga, jei turime pakankamai pinigų, tai galime nusipirkti šį automobilį, kitaip mes negali.

      Var pinigai = 35000; // Tarkime, kad turime 35 000 eurų // Automobilis, kurį norime pirkti, kainuoja 50 000 eurų. Ir atsiranda tokia sąlyga if(pinigai > 50000)( document.write("Galime nusipirkti automobilį"); )else( document.write("Neužtenka pinigų automobiliui nusipirkti"); )

      Išsaugome dokumentą, atidarome jį naršyklėje ir matome, kad puslapyje buvo rodomas toks pranešimas: „Neužtenka pinigų automobiliui nusipirkti“. Jei turėtume daugiau nei 50 000 eurų, būtų vykdomas kodas iš if bloko. Jei turėtume lygiai 50 000 eurų, tai ir automobilio negalėtume nusipirkti, nes 50 000 yra ne daugiau kaip 50 000. Kad sąlyga šiuo atveju būtų teisinga, reikia parašyti didesnį už arba lygybės ženklą ( >=) .

      Komentuoti! Loginė operacija lygybė rašoma dviem lygybės ženklais (==). Taip pat yra loginė operacija, mažesnė arba lygi (

      naudojant garbanotas petnešas

      Jei yra tik vienas operatorius, tada garbanoti petnešos yra neprivalomos, jei bloke yra daugiau nei vienas operatorius, tada garbanoti petnešos yra būtinos.

      Aukščiau pateiktas pavyzdys puikiai veiks ir be garbanotų skliaustų, nes abiejuose blokuose yra tik vienas teiginys.

      Viduje, jei galite parašyti kokias nors logines operacijas ar jie paprasti, ar sudėtingi. Taip pat galite naudoti operatorius AND (&&) ir OR (||).

      Komentuoti! Kito bloko buvimas yra neprivalomas.

      Pavyzdžiui, jei a yra lygus b, o c lygus d, tada rodome atitinkamą pranešimą, kitu atveju, jei nėra kito bloko, tiesiog pereiname prie kitos eilutės.

      Var a = 4, b = 4, c = 8, d = 8; if((a == b) && (c == d)) document.write("a lygus b IR c lygus d"); document.write("Kita kodo eilutė");

      if-else if-else teiginys

      Po if bloko gali sekti vienas ar keli kiti if blokai, o pabaigoje yra else blokas. Tai naudinga, kai reikia naudoti daugiau nei vieną sąlygą.


      Norėdami geriau suprasti, paimkime pavyzdį iš kasdienio gyvenimo. Pavyzdžiui, turime tam tikrą skaičių prekybos vietų. Jei kambaryje turime tik vieną lizdą, tai galime prijungti tik vieną įrenginį, jei yra du lizdai, tada galime prijungti du įrenginius, o jei yra daugiau, tada visus įrenginius iš namo galime prijungti prie elektros tinklo. .

      Dabar pereikime prie programavimo.

      var lizdas = 2; // Lizdų skaičius name if(socket == 1)  document.write("

      Galime prijungti tik vieną įrenginį

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

      Galime sujungti tik du įrenginius

      "); document.write("

      Pavyzdžiui, televizorius ir nešiojamas kompiuteris

      "); )else( document.write("

      Prie elektros tinklo galime prijungti visus įrenginius iš namų

      "); }

      Priklausomai nuo lizdo kintamojo reikšmės, veiks vienas ar kitas kodo blokas. Kaip tikriausiai jau supratote, jei lizdas yra lygus 1, tada pirmasis kodo blokas veiks. Jei lizdas yra 2, tada veiks antrasis kodo blokas, o jei lizdas turi kitą reikšmę (netgi neigiamą skaičių), tada veiks trečias kodo blokas.

      Trumpai tariant, jei kitaip

      Santrumpa gali būti naudojama tada, kai, priklausomai nuo tam tikros sąlygos, kintamasis gali gauti vienokią ar kitokią reikšmę.


      Pavyzdžiui, jei kintamojo a reikšmė yra didesnė už kintamojo b reikšmę, tada į kintamąjį x rašome tokį pranešimą: „Kintamasis a yra didesnis už kintamąjį b“, kitu atveju rašome, kad „Kintamasis a yra mažesnis už kintamąjį b “.

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

      Kintamasis a daugiau kintamasis b

      " : "

      Kintamasis a mažiau kintamasis b

      "; //Išvesti rezultatą document.write(x);

      Tai viskas, ką norėjau jums pasakyti šiame straipsnyje. Jei-else sąlyginis sakinys naudojamas daugiau nei kiekviename scenarijuje, todėl labai svarbu jį žinoti ir suprasti. Kitame straipsnyje papasakosiu apie kitą sąlyginį teiginį.

      Šiame pavyzdyje pirmiausia deklaruojame keturis kintamuosius naudodami raktinį žodį var ir iš karto priskiriame jiems skaitines reikšmes. Toliau, naudodami didinimo ir mažinimo operatorius, keičiame skaičių reikšmes. Informacija rodoma naudojant funkciją aidas(žr. straipsnį ""). Kad dar kartą nerašyčiau objekto pavadinimo, panaudojau konstrukciją su().

      Loginiai operatoriai

      Tikrinant sąlygą naudojami loginiai operatoriai, kad nesikartotų, padarysiu trumpinį: kairysis operandas yra L.O., o dešinysis – P.O.

      • && - Būlio "AND"
      • || - "ARBA"
      • ! - "NE"
      • > - L.O. daugiau P.O.
      • >= - L.O. didesnis arba lygus P.O.
      • < - Л.О. меньше П.О.
      • <= - Л.О. меньше или равен П.О.
      • == - L.O. lygus P.O.
      • != - L.O. nelygu P.O.
      • |= - L.O. prilygsta sau ARBA P.O.
      • &= - L.O. yra lygus sau IR P.O.
      • ^= – IŠSKIRTINĖ ARBA

      Dabar apsvarstykite šį scenarijų:

      //***************************************** // loginės operacijos// logic_if_else.js //***************************************** var a= 10 , b= 100 , WshShell, pavadinimas, msg1, msg2, msg3, msg4, vbInformation = 64 ; // Sukurkite WScript.Shell klasės egzempliorių WshShell = WScript.CreateObject("WScript.Shell" ) ; pavadinimas = „Darbas su sąlyginiu teiginiu IF ELSE JS“; with(WshShell) (jei (a>= 5 && a<= 100 ) //истина msg1 = "TRUE" ; else msg1 = "FALSE" ; Popup (msg1, 5 , title, vbInformation) ; if (a>= 5 || b== 100 ) //true msg2 = "TRUE" ; else msg2 = "FALSE" ; Iššokantis langas (msg2, 5 , title, vbInformation) ; //sąlyginis sakinys js, jei kitaip if (! a) //false msg3 = "TRUE" ; else msg3 = "FALSE" ; Iššokantis langas (msg3, 5 , pavadinimas, vbInformation) ; if (a&= 100 ) //false msg4 = "TRUE" ; else msg4 = "FALSE" ; Iššokantis langas (msg4, 5 , pavadinimas, vbInformacija) ; )

      Kaip ir ankstesniame scenarijuje, čia panaudojau konstrukciją su norėdami sutrumpinti kodą. Tačiau norėdami rodyti informaciją, naudojome funkciją iššokantis langas(žr. straipsnį ""). Dėl to dialogo langai automatiškai užsidarys po kelių sekundžių. Atkreipkite dėmesį, kad šiame pavyzdyje nenaudojome garbanotų petnešų. js if sąlyginiame sakinyje jie aktualūs tik tada, kai reikia vykdyti ne vieną kodo eilutę, o kelias.

      Galiausiai pažvelkime į tokį praktinį pavyzdį kaip kvadratinės lygties sprendimas:

      // Kvadratinės lygties sprendimas// uravnenije_if_else.js // *********************************************************** var a, b, c, d, x, x1, x2; //Deklaruoti kintamuosius a=- 2; b = 6; c = 20; //Ieškant diskriminanto d = matematika .pow (b, 2 ) – 4 * a * c; if (d== 0) (x= b/ (2*a) ; msg= "Lygtis turi vieną sprendimą, x yra tiksliai"+ x ) else ( if (d> 0 ) ( x1= (- b+ Matematika .sqrt (d) ) / (2 * a) ; x2= (- b- Matematika .sqrt (d) ) / (2 * a) msg= "Lygtis turi du sprendinius \n x1 tiksliai"+ x1 + " \n x2 tiksliai "+x2; // sąlyginis sakinys if else js) else msg= "Nėra sprendimo" ; ) WScript.Echo (žinutė) ;