Js este prescurtarea pentru if. JavaScript: if și else - instrucțiuni condiționale

23.06.2020 Photoshop 3D

Declarații condiționale

Instrucțiunile condiționate vă permit să săriți sau să executați alte instrucțiuni în funcție de valoarea unei expresii specificate. Aceste afirmații sunt puncte de decizie într-un program și sunt uneori numite și operatorii de sucursale.

Dacă vă imaginați că un program este un drum, iar interpretul JavaScript este un călător care merge de-a lungul acestuia, atunci declarațiile condiționate pot fi considerate ca o răscruce în care codul programului se ramifică în două sau mai multe drumuri, iar la astfel de răscruce, interpretul trebuie să aleagă care drum de urmat.

declarație dacă/altfel

Declarația if este o instrucțiune de control de bază care permite interpretului JavaScript să ia decizii sau să execute mai precis instrucțiuni, pe baza condițiilor. Declarația if are două forme. Primul:

if (expresie) enunţ

În această formă, expresia este mai întâi evaluată. Dacă rezultatul obținut este adevărat, atunci instrucțiunea este executată. Dacă expresia returnează false, atunci instrucțiunea nu este executată. De exemplu:

If (username == null) // Dacă variabila nume de utilizator este nulă sau nedefinită username = "Alex"; // definesc-o

Rețineți că parantezele din jurul unei expresii condiționate sunt o parte obligatorie a sintaxei instrucțiunii if.

A doua formă a instrucțiunii if introduce o clauză else care este executată atunci când expresia este evaluată ca false. Sintaxa sa este:

if (expresie) statement1 else statement2

Acest formular execută declarația1 dacă expresia este evaluată ca adevărată și instrucțiunea2 dacă expresia este evaluată ca fals. De exemplu:

If (n == 1) console.log("1 mesaj nou primit."); else console.log("Am primit " + n + " mesaje noi.");

else if declarație

Instrucțiunea if/else evaluează valoarea unei expresii și execută una sau alta bucată de cod de program, în funcție de rezultat. Dar ce se întâmplă dacă trebuie să executați unul dintre multele fragmente? O posibilă modalitate de a face acest lucru este să utilizați o declarație else if. În mod formal, nu este un operator JavaScript independent; Acesta este doar un stil obișnuit de programare de utilizare a unei declarații repetate if/else:

If (n == 1) ( // Executați blocul 1 ) else if (n == 2) ( // Executați blocul 2 ) else if (n == 3) ( // Executați blocul 3 ) else ( // Dacă nici unul una dintre instrucțiunile else anterioare nu a fost executată, executați blocul 4)

Nu este nimic special la această piesă. Este pur și simplu o secvență de instrucțiuni if, în care fiecare instrucțiune if face parte din clauza else a instrucțiunii anterioare.

declarație switch

O instrucțiune if creează o ramură în fluxul programului, iar ramificarea cu mai multe stări poate fi implementată folosind mai multe instrucțiuni else if. Cu toate acestea, aceasta nu este întotdeauna cea mai bună soluție, mai ales dacă toate ramurile depind de valoarea aceleiași expresii. În acest caz, este o risipă să reevaluezi aceeași expresie în mai multe instrucțiuni if.

Declarația switch este concepută special pentru astfel de situații. Cuvântul cheie switch este urmat de o expresie între paranteze și de un bloc de cod între acolade:

comutare (expresie) (instrucțiuni)

Cu toate acestea, sintaxa completă a unei instrucțiuni switch este mai complexă decât se arată aici. Diferite locuri dintr-un bloc sunt marcate cu cuvântul cheie case, urmat de o expresie și un caracter două puncte.

Când este executată o instrucțiune switch, evaluează valoarea expresiei și apoi caută o etichetă de caz care se potrivește cu acea valoare (potrivirea este determinată folosind operatorul de identitate ===). Dacă eticheta este găsită, blocul de cod este executat, începând cu prima instrucțiune care urmează etichetei case. Dacă nu este găsită o etichetă de caz cu o valoare potrivită, execuția începe cu prima instrucțiune care urmează eticheta specială implicită: . Dacă eticheta implicită: lipsește, întregul bloc de instrucțiuni switch este omis.

Funcționarea declarației switch este dificil de explicat în cuvinte, explicația este mult mai clară cu un exemplu. Următoarea instrucțiune switch este echivalentă cu instrucțiunile repetate if/else prezentate în exemplul anterior:

Switch(n) ( cazul 1: // Executat dacă n === 1 // Execută blocul 1 întrerupere; // Opreste aici cazul 2: // Execut dacă n === 2 // Execută blocul 2 întrerupere; // Stop aici cazul 3: // Executare if n === 3 // Execut blocul 3 break // Opriți aici implicit: // Dacă totul eșuează... // Executați blocul 4;

Notați cuvântul cheie break la sfârșitul fiecărui bloc de caz. Instrucțiunea break face ca controlul să fie transferat la sfârșitul instrucțiunii switch și execuția următoarelor instrucțiuni să continue. Declarațiile Case dintr-o instrucțiune switch specifică doar punctul de pornire al codului programului care urmează să fie executat, dar nu specifică niciun punct final.

Dacă nu există instrucțiuni break, instrucțiunea switch va începe executarea blocului de cod cu eticheta case corespunzătoare valorii expresiei și va continua executarea instrucțiunilor până când ajunge la sfârșitul blocului. În cazuri rare, acest lucru este util pentru scrierea codului care trece de la o etichetă de caz la alta, dar în 99% din cazuri ar trebui să încheiați cu atenție fiecare bloc de caz cu o instrucțiune break. (Când utilizați un comutator în interiorul unei funcții, puteți utiliza o instrucțiune return în loc de o pauză. Ambele instrucțiuni servesc pentru a termina instrucțiunea switch și pentru a împiedica trecerea la următoarea etichetă de caz.)

Mai jos este un exemplu mai practic de utilizare a instrucțiunii switch, care convertește o valoare într-un șir într-un mod care depinde de tipul valorii:

Funcția convert(x) ( switch(typeof x) ( // Convertește un număr într-un număr întreg hexazecimal „număr”: return x.toString(16); // Returnează un șir între ghilimele case „șir”: return „"" + x + """; // Orice alt tip este convertit în modul obișnuit implicit: return x.toString(); ) ) console.log(convert(1067)); // Rezultat "42b"

Rețineți că în cele două exemple anterioare, cuvintele cheie case au fost urmate de numere sau literale șir. Acesta este modul în care instrucțiunea switch este folosită cel mai des în practică, dar standardul ECMAScript vă permite să specificați expresii arbitrare după caz.

Declarația switch evaluează mai întâi expresia după cuvântul cheie switch și apoi expresiile case în ordinea în care sunt specificate, până când se găsește o valoare care se potrivește. Faptul unei potriviri este determinat folosind operatorul de identitate === mai degrabă decât operatorul de egalitate ==, astfel încât expresiile trebuie să se potrivească fără nicio conversie de tip.

Deoarece nu toate expresiile case sunt evaluate de fiecare dată când este executată o instrucțiune switch, ar trebui să evitați să utilizați expresii case care au efecte secundare, cum ar fi apelurile de funcții și atribuirile. Cel mai sigur este să limitați expresiile de caz la expresii constante.

După cum sa explicat mai devreme, dacă nicio expresie case nu se potrivește cu o instrucțiune switch, instrucțiunea switch începe să execute instrucțiunea etichetată implicit:. Dacă eticheta implicită: lipsește, corpul instrucțiunii switch este omis complet. Rețineți că în exemplele anterioare, eticheta implicită: apare la sfârșitul corpului instrucțiunii switch, după toate etichetele case. Acesta este un loc logic și obișnuit pentru acesta, dar de fapt poate fi localizat oriunde într-o instrucțiune switch.

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

Dacă condiția a>1 adevărat, apoi variabila b atribuie valoare 100 , altfel atribuiți valoarea variabilei b 200 .

Sarcina Js 3_4.
Adăugați cod: 3 variabile locale sunt declarate folosind cuvântul cheie var. Este necesar să atribuiți valoarea următorului operator ternar variabilei max: dacă a este mai mare decât b, atunci returnăm a, în caz contrar returnăm b.

Fragment de cod:< 6) { result = "Мало"; } else { result = "Много"; }


dacă (a * b

  • Întrebări pentru autocontrol:
  • Care este sintaxa operatorului ternar?
  • Câte argumente are operatorul ternar?

    Switch operator în javascript - switch

    Instrucțiunea javascript switch este utilizată pentru a testa o variabilă pentru mai multe valori:

    Sintaxă:

    comutare (variabilă sau expresie) ( case option1: //..bloc de instrucțiuni.. break case option2: //..bloc de instrucțiuni.. break default: //..bloc de instrucțiuni.. ) Se verifică valoarea unei variabile sau expresii: în fiecare caz Se verifică valoarea unei variabile sau expresii: în fiecare.

    se verifică una dintre valori, dacă valoarea este potrivită, se execută unul sau altul bloc de operatori corespunzător acestuia Se verifică valoarea unei variabile sau expresii: în fiecare Blocul care începe cu cuvântul de serviciu implicit poate fi omis. Instrucțiunile de bloc vor fi executate dacă niciuna dintre valorile enumerate nu este prezentă în totalitate

    nu se potriveste. Se verifică valoarea unei variabile sau expresii: în fiecare Important: instrucțiunea break este necesară după fiecare valoare variabilă considerată (după fiecare

    ); dacă nu îl utilizați, atunci toate declarațiile de mai jos vor fi tipărite Comparați cu operatorul:

    DACĂ

    var a = 2; comutați(a) (caz 0: // dacă (a === 0) caz 1: // dacă (a === 0) alertă ("Zero sau unu"); // apoi imprimați... pauză; caz 2: // if (a === 2) alert("Două" // apoi afișa... break default: // else alert("Multe");

    Cum se grupează mai multe opțiuni? Se verifică valoarea unei variabile sau expresii: în fiecare Pentru a executa aceleași instrucțiuni, este posibil să grupați mai multe

    . Ca în exemplul de mai sus:

    Cazul 0: cazul 1: alertă(„Zero sau unu”);

    pauză; ... Când a = 0 și a = 1, se execută aceeași instrucțiune: alert("Zero sau unu"); Exemplul 4: Solicitați utilizatorului să introducă o culoare. Ieșiți traducerea în limba engleză a culorii introduse. Pentru culoare "albastru" produc aceeași valoare.


    ✍ Soluție:
    • Creați o pagină web cu schelet și etichetă html scenariu.
    • Inițializați variabila culoare
    • var culoare = prompt("Ce culoare?") ;

      var culoare = prompt("Ce culoare?");

    • Verificați valoarea unei variabile folosind un construct transpira, rezultând pentru fiecare valoare translația corespunzătoare:
    • comutator (culoare) (caz "roșu": alertă ("roșu"); pauză; caz "verde": alertă ("verde"); pauză; // ...

      Dacă variabila culoare are valoarea „roșu”, apoi afișați traducerea în fereastra modală - „roșu” și ieșiți din structură (break;). Dacă variabila culoare are valoarea „verde”, apoi afișează traducerea în fereastra modală - „verde” și iese din structură (break;).

    • Pentru flori Când a = 0 și a = 1, se execută aceeași instrucțiune: alert("Zero sau unu"); Exemplul 4: Solicitați utilizatorului să introducă o culoare. Ieșiți traducerea în limba engleză a culorii introduse. Pentru culoare "albastru" efectuați gruparea:
    • // ... caz "albastru": caz "albastru": alert("albastru");

      Dacă variabila culoare pauză; // ... culoare are valoarea „albastru” sau variabilă

    • are valoarea „albastru”, apoi afișează traducerea în fereastra modală - „albastru” și iese din structură (break;).
    • Organizați ieșirea pentru acele culori care nu sunt furnizate de program:

      // ... implicit: alert("nu avem informații pentru această culoare" ) ​​) // comutator de final

    • // ... implicit: alert("nu avem informații despre această culoare") ) // comutator final

    Testați scriptul într-un browser.

    14 15 16 17 Sarcina Js 3_6.

    Găsiți și remediați erorile în următorul fragment de cod:


    var number = prompt("Introduceți numărul 1 sau 2:" );

    1 2 3 4 5 6 7 8 9 10 11 12 13 comutare (număr) (case „1” ( document.write („Unul”) ; ) ; break ; case „2” ( document.write („Doi”) ; ) ; pauză ; implicit ( document.write („Ați introdus altă valoare decât 1 și 2" ) ; ) ; )

    var number = prompt("Introduceți numărul 1 sau 2:"); comutare (număr) (case „1” ( document.write(„Unul”); ); pauză; case „2” ( document.write(„Doi”); ); pauză; implicit ( document.write(„Ați introdus altă valoare decât 1 și 2"); ); )


    Sarcina Js 3_7.

  • În funcție de numărul introdus, sfârșitul cuvântului se schimbă "cioară".
  • Pentru a verifica, utilizați operatorul de comutare javascript.
  • Salvați această pagină în dosarul dvs. de rezultate (va fi utilă pentru lucrările viitoare).

  • dacă (a * b

  • În ce caz este recomandabil să folosiți construcția ca operator condiționat comutator?
  • Care este scopul blocului implicit din instrucțiune? comutator?
  • Este necesar să folosiți instrucțiunea break într-o construcție? comutator?
  • Cum să grupați pentru mai multe opțiuni de valoare într-o declarație comutator?
  • Operatori ciclici JavaScript - Pentru

    Instrucțiunea javascript switch este utilizată pentru a testa o variabilă pentru mai multe valori:

    for(valoarea inițială a contorului; condiția; creșterea contorului) ( //..bloc de instrucțiuni.. )

    Important: javascript-ul pentru bucla este utilizat atunci când se știe dinainte de câte ori trebuie repetate acțiunile ciclice (de câte iterații are bucla)