Contacte

Operatorul JavaScript vă permite să setați sucursalele de program necesare. JavaScript: dacă și altfel - instrucțiuni pentru condiții. Operațiunile logice în termeni

O zi buna. În contact, Alexey Gulein. În ultimul articol am dezasamblat crearea ciclurilor în JavaScript . În acest articol aș vrea să spun operator condiționat în JavaScript. În general, toate programele sunt compuse din condiții, iar în toate limbile de programare (JavaScript nu a depășit) există un concept al unui operator condiționat. Sensul operatorului condițional Este că, dacă se efectuează condiția, atunci aceste acțiuni sunt făcute dacă nu se face - apoi fac alte acțiuni. Schema generală a operatorului condițional arată astfel:

Dacă (condiție) (// bloc de operatori); Altceva (// bloc de operatori)

Să scriem imediat orice exemplu: vom solicita un număr al unui utilizator și, dacă este chiar și ieșire "Acesta este un număr par", dacă nu - "Acesta este un ciudat":

Operatorul condiționat JavaScript

Dacă formați acest cod, veți vedea că totul funcționează. Acum vă voi arăta cât de importantă sintaxă în JavaScript. Îndepărtați semnul ";" Înainte de altceva și codul va înceta imediat să funcționeze. Prin urmare, fiți întotdeauna atenți. În unul dintre următoarele articole, voi spune cum să prindeți erorile în JavaScript.
Un operator condiționat poate introduce în alta. Să adăugăm verificarea că utilizatorul a făcut numărul "0".

Operatorul condiționat JavaScript

Acum vă voi arăta cum să verificați mai multe condiții. Există un astfel de concept ca fiind logic "și" (denotat de simboluri &&). Există, de asemenea, un concept logic "sau" (notat de simboluri ||). Prioritate în logică "și" mai mare, adică În primul rând, verificați această condiție, apoi verificați logica "sau".
Să analizăm un astfel de exemplu: să creăm un număr aleatoriu de la 1 la 10. Este necesar să emită expresia "numărul dorit \u003d" și numărul în sine, dacă acest număr nu este egal cu 6 și mai mult de 5 sau mai mult 1 , dar mai puțin de 4:

Operatorul condiționat JavaScript

În acest caz, numerele dorite sunt: \u200b\u200b2,3,7,8,9,10. Alte numere nu respectă condiția.
De asemenea, doresc să vă atrag atenția asupra operatorului "! \u003d", Ceea ce înseamnă "nu egal". În cele din urmă, la redactarea condițiilor, acordați întotdeauna atenție layout-ului parantezelor. Cele mai multe erori sunt asociate cu aranjamentul lor incorect.

În viața de zi cu zi, este adesea necesar să se ia orice decizie, în funcție de condiția. De exemplu, dacă vremea este caldă în weekend, vom mânca pe mare, altfel, dacă este acoperit, apoi stai jos acasă.

În programare, acest lucru se găsește și foarte des. Pentru acest lucru există Doi operatori condiționați, este dacă altfel și cazul de comutare. În acest articol, vă voi spune despre declarația dacă altceva și în următorul articol despre comutare.

Sintaxa operatorului condiționat dacă altceva ca urmare a:


În cazul în care starea adevărului (adevărat), codul este executat din blocul IF, în caz contrar, dacă starea este falsă, se efectuează codul din alt bloc.

Pentru o mai bună înțelegere, luăm un exemplu atât de simplu, avem o anumită sumă de bani și vrem să cumpărăm o mașină și aici apare imediat o astfel de condiție dacă avem destui bani, putem cumpăra această mașină, altfel nu putem .

Var Bany \u003d 35000; // Să presupunem că avem 35.000 de euro // mașina dorim să cumpărăm costuri de 50.000 de euro. Și o astfel de condiție dacă apare (bani\u003e 50000) (document.write ("putem cumpăra o mașină");) altceva (document.write ("nu suficienți bani pentru cumpărarea unei mașini");)

Salvăm documentul, deschideți-l în browser și vedem că acest mesaj "nu au fost lansate suficiente bani pentru cumpărarea unei mașini pe pagină. Dacă am avea mai mult de 50.000 de euro, aș executa codul din blocul IF. Dacă eram exact 50.000 de euro, am putut să nu cumpărăm o mașină, deoarece nu mai mult de 50.000 nu mai mult de 50.000. Pentru ca starea în acest caz, este necesar să se scrie un semn sau egal cu (\u003e \u003d).

Cometariu! Operația logică este scrisă în mod egal de două semne de egalitate (\u003d\u003d). Există, de asemenea, o operațiune logică mai mică sau egală cu (

folosind paranteze de figură

Dacă este prezent un singur operator, trebuie instalate parantezele curbate, dacă blocul este mai mare de un operator, apoi sunt necesare paranteze curbate.

Exemplul de mai sus va funcționa perfect și fără paranteze curioase, deoarece un singur operator este situat în ambele blocuri.

În interior dacă puteți scrie orice operațiune logică, indiferent dacă sunt simple sau complexe. Puteți utiliza operatorii și (&&) și sau (||).

Cometariu! Prezența blocului altcuiva nu este obligatorie.

De exemplu, dacă A este egal cu B, iar C este d, atunci afișăm mesajul corespunzător, altfel dacă nu există altceva bloc, atunci pur și simplu mergem mai departe la următoarea linie.

Var a \u003d 4, b \u003d 4, c \u003d 8, d \u003d 8; dacă ((a \u003d\u003d b) && (c \u003d\u003d d)) document.write ("A este egal cu B și C este d"); Document.write ("lista următoare de cod");

Dacă altceva dacă - altfel

După blocul, unul și mai multe detalii dacă blocurile pot urma și la capăt deja blocul altceva. Este convenabil în cazul în care trebuie să utilizați mai multe condiții.


Pentru o mai bună înțelegere, luați un fel de exemplu din viața de zi cu zi. De exemplu, avem un anumit număr de puncte de vânzare. Dacă avem doar o singură priză în cameră, atunci putem conecta doar un singur dispozitiv Dacă două ieșiri pot conecta două dispozitive și, dacă este mai mult, vă putem conecta la rețeaua electrică, toate dispozitivele de acasă.

Acum ne întoarcem la programare.

Var priza \u003d 2; // Numărul de prize din casă dacă (soclu \u003d\u003d 1) document.write ("

Putem conecta doar un dispozitiv

"); Altceva dacă (soclul \u003d\u003d 2) (document.write ("

Putem conecta doar două dispozitive

"); document.write ("

De exemplu, TV și laptop

");) Altceva (document.write ("

Putem conecta toate dispozitivele din casă în rețeaua electrică.

"); }

În funcție de valoarea variabilei socket, unul sau un alt bloc de cod va funcționa. Așa cum probabil ați realizat că dacă soclul este 1, atunci primul bloc de cod va funcționa. Dacă soclul este 2, atunci al doilea bloc al codului va funcționa și dacă soclul are orice altă valoare (chiar și un număr negativ), atunci cel de-al treilea cod bloc va funcționa.

Intrarea abreviată dacă altceva

Înregistrarea abreviată poate fi utilizată în cazul în care, în funcție de condiție, variabila poate obține această sau această valoare.


De exemplu, dacă valoarea variabilei A este mai mare decât valoarea variabilei B, atunci în variabila X vom scrie un astfel de mesaj "variabil mai mare decât variabila b", altfel scriem că "variabila mai mică decât variabila b ".

Var a \u003d 50, b \u003d 100, x; x \u003d (a\u003e b)? "

Variabilă A. mai mult variabilă B.

" : "

Variabilă A. mai puțin variabilă B.

"; // afișează rezultatul documentului rezultat (x);

Asta e vorba de ceea ce am vrut să-ți spun în acest articol. Declarația condiționată dacă este utilizată decât în \u200b\u200bfiecare script, deci este foarte important să știți și să înțelegeți. În următorul articol, vă voi spune despre un alt balsam de comutare.

Operatori condiționați

Operatorii condiționali vă permit să săriți sau să efectuați alți operatori în funcție de valoarea expresiei specificate. Acești operatori sunt puncte de luare a deciziilor în program și, uneori, sunt numite și ele operatori de "ramificare".

Dacă depuneți că programul este drumul, iar interpretul JavaScript este un călător, trecerea prin el, operatorii condiționali pot fi reprezentați ca o intersecție, în care codul de program ramură două sau mai multe drumuri și la astfel de intersecții trebuie să aleagă interpretul care drum să meargă mai departe.

Dacă / altcineva operator

Declarația IF este un controler de bază care permite interpretului JavaScript să facă soluții sau, mai precis, să efectueze operatorii în funcție de condițiile. Operatorul dacă are două forme. Primul:

dacă operatorul (expresie)

În acest formular, expresia este calculată pentru prima dată. Dacă rezultatul este adevărat, operatorul este executat. Dacă expresia returnează o valoare falsă, operatorul nu este executat. De exemplu:

Dacă (numele de utilizator \u003d\u003d null) // dacă variabila de utilizator este nulă sau nedefinită nume de utilizator \u003d "alex"; // determina-l

Rețineți că parantezele din jurul expresiei condiționate sunt o parte obligatorie a sintaxei de operare.

A doua formă a operatorului dacă introduce designul altceva, care se efectuează în cazurile în care expresia returnează o valoare falsă. Sintaxa sa:

dacă operatorul (expresie) al altcuiva operator2

Acest formular efectuează operatorul1 dacă expresia returnează valoarea adevărată și operatorul2, dacă expresia returnează o valoare falsă. De exemplu:

Dacă (n \u003d\u003d 1) consola.log ("1 mesaj nou primit."); Alte Console.Log ("Primit" + N + "mesaje noi");

Operator, dacă.

Declarația IF / Alți calculează valoarea expresiei și efectuează unul sau alt fragment al codului programului, în funcție de rezultat. Dar dacă trebuie să executați unul dintre numeroasele fragmente? Un mod posibil de a face acest lucru este de a aplica altceva dacă declarația. În mod oficial, nu este un operator independent JavaScript; Acesta este doar un stil de programare comun, care constă în aplicarea operatorului recurente dacă / altcineva:

Dacă (n \u003d\u003d 1) (// efectuează blocul 1) altfel dacă (n \u003d\u003d 2) (// rulează bloc 2) altfel dacă (n \u003d\u003d 3) (// rulează bloc 3) altceva (// dacă nici nu Unul dintre declarațiile anterioare din altceva nu a fost executat, executați blocul 4)

În acest fragment nu este nimic special. Aceasta este doar o secvență de operatori, în cazul în care fiecare instrucțiune face parte din elaborarea altcuiva a operatorului anterior.

Schimbați operatorul

Declarația IF creează o sucursală în fluxul de execuție a programului, iar ramura de multipoziție poate fi implementată de mai multe informații dacă operatorii. 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, deșeurile sunt re-calculați valoarea aceleiași expresii în mai multe operatori.

Operatorul de comutare este conceput pentru astfel de situații. Cuvântul cheie al comutatorului trebuie exprimat în paranteze și bloc de cod în paranteze Curly:

comutator (expresie) (instrucțiuni)

Cu toate acestea, sintaxa completă a operatorului de comutare este mai complicată decât este prezentată aici. Diferitele locuri din bloc sunt etichetate într-un cuvânt cheie caz.În spatele căruia ar trebui să fie simbolul expresiei și al colonului.

Când se efectuează instrucțiunea de comutare, acesta calculează valoarea expresiei și apoi caută eticheta cazului corespunzătoare acestei valori (corespondența este determinată utilizând operatorul de identitate \u003d\u003d\u003d). Dacă se găsește eticheta, blocul de cod se execută, pornind de la prima instrucțiune după cazul cazului. Dacă eticheta cazului cu valoarea corespunzătoare nu este găsită, execuția începe cu prima instrucțiune după marca specială mod implicit:. Dacă eticheta implicită: lipsește, unitatea de instrucțiuni comutator este pe deplin sărită.

Lucrarea operatorului de comutare este dificil de explicat în cuvinte, pare mult mai clar explicația cu privire la exemplu. Următoarea instrucțiune de comutare este echivalentă cu repetarea operatorilor dacă / altcineva afișate în exemplul anterior:

Comutator (n) (Cazul 1: // rulează dacă n \u003d\u003d\u003d 1 // rulați blocul 1 pauză; // aici STOP CASE 2: // Efectuați dacă n \u003d\u003d\u003d 2 // rulați blocul 2 pauză; / / Aici începeți cazul 3: // efectuat dacă n \u003d\u003d\u003d 3 // rulați blocul 3 pauză; // opriți implicit: // dacă totul altceva nu se potrivește ... // Run bloc 4 pauză; //)

Acordați atenție cuvântului cheie pauză La sfârșitul fiecărui caz de caz. Operatorul de pauză duce la transferul de control la sfârșitul operatorului de comutare și să continue executarea operatorilor urmând. Desenele de caz în instrucțiunea de comutare se stabilesc numai punctul de plecare al codului programului efectuat, dar nu specificați niciun punct final.

În absența operatorilor de spargere, operatorul de comutare va începe să execute blocul de cod cu eticheta de caz corespunzătoare valorii expresiei și va continua să efectueze operatorii până când ajunge la sfârșitul blocului. În cazuri rare, acest lucru este util pentru scrierea unui cod de program care trece de la un punct de caz la altul, dar în 99% din cazuri ar trebui să fie finalizată cu atenție fiecare bloc al pauzei operatorului de caz. (Când utilizați comutatorul din interiorul funcției, în loc de pauză, puteți utiliza instrucțiunea de retur. Ambii operatori sunt utilizați pentru a finaliza funcționarea operatorului de comutare și pentru a preveni tranziția la următoarea etichetă de caz.)

Următorul este un exemplu mai practic de utilizare a instrucțiunii de comutare, convertește valoarea la un șir într-o metodă dependentă de tipul de valoare:

Funcție Convert (x) (comutator (The TypeOf X) (// Conversia unui număr la un număr întreg hexazecimal "Număr": Return X.Tostring (16); // Return un șir închis în cazul "String": Return "" " + x + "" "; // Orice alt tip este convertit de modul obișnuit la implicit: retur x.tostring ();)) consolă.log (convertiți (1067)); // rezultat "42b"

Rețineți că în cele două exemple anterioare, numerele sau literalele de șir au urmat cuvintele cheie. Acesta este modul în care declarația de comutare este folosită cel mai adesea în practică, dar standardul ECMAScript vă permite să specificați expresii arbitrare după caz.

Operatorul de comutare calculează mai întâi expresia după cuvântul cheie al comutatorului și apoi expresiile de caz în ordinea în care sunt specificate până la găsirea valorii de coincidență. Faptul de coincidență este determinat utilizând operatorul de identitate \u003d\u003d\u003d și nu utilizând operatorul de egalitate \u003d\u003d, prin urmare, expresiile trebuie să se potrivească fără nici o conversie de tipuri.

Deoarece fiecare altă execuție a operatorului de comutare se calculează nu toate expresiile de caz, utilizarea expresiilor de caz care au efecte secundare, cum ar fi apelurile și sarcinile de caracteristică, ar trebui evitată. Sostul este limitat în expresiile expresiilor constante de caz.

După cum sa explicat anterior, dacă niciunul dintre expresiile de caz nu corespund comutatorului de expresie, operatorul de comutare începe să funcționeze operatorul cu implicit: etichetă. Dacă eticheta implicită: lipsește, corpul operatorului de comutare este complet omorât. Rețineți că, în exemplele anterioare, eticheta implicită: specificată la sfârșitul corpului operatorului de comutare după toate semnele de caz. Acesta este un loc logic și obișnuit pentru el, dar de fapt poate fi localizat oriunde în interiorul operatorului de comutare.

În acest articol, ia în considerare operatorii JavaScript condiționali și logici.

JavaScript Situații condiționate

Operatori condiționați - Aceștia sunt operatorii limbii JavaScript (ECMAScript), care, în funcție de o anumită condiție, vă permit să efectuați una sau mai multe instrucțiuni specifice.

Forme de operatori condiționați în JavaScript:

  • condiționată dacă operatorul (cu o sucursală);
  • operator condiționat dacă ... altceva (cu două ramuri);
  • operator condiționat, dacă ... (cu mai multe ramuri);
  • terner Operator (? :);
  • comutați operatorul de selecție.

Operatorul condiționat dacă

Dacă sintaxa operatorului:

Dacă (condiție) instrucțiuni

Declarația condiționată dacă este alcătuită din:

  • cuvânt cheie dacă;
  • condiții (expresii în paranteze), care ar trebui să fie adevărate sau false (sau să fie date uneia dintre aceste valori);
  • instrucțiuni care trebuie să efectuezeDacă starea este adevărată sau este dată.

De exemplu:

Dacă numărul (adevărat) \u003d 4;

În acest exemplu, valoarea este adevărată. Aceasta înseamnă că numărul de instrucțiuni \u003d 4 va fi întotdeauna efectuat. Acest exemplu este dat pur și simplu pentru a explica principiul funcționării operatorului, deoarece El este lipsit de vreun sens.

De exemplu, vom crește valoarea variabilei voturilor la 1, dacă (tipul său) este un număr:

Dacă (tastați voturi \u003d\u003d\u003d "număr") voturi ++;

Dacă trebuie să efectuați mai multe instrucțiuni, ele trebuie plasate în paranteze curată:

Dacă (tastați voturi \u003d\u003d\u003d "număr") (voturi ++; console.log ("Număr de voturi:" + voturi);)

Dacă (tastați voturi \u003d\u003d\u003d "număr") (voturi ++)

Dacă ... altfel operator

Operatorul dacă ... altcineva este utilizat atunci când este necesar atunci când sunteți adevărul decât condiția pentru a efectua anumite instrucțiuni și cu alții cu falsitate.

Sintaxă:

Dacă (condiție) (una sau mai multe instrucțiuni (una sau mai multe instrucțiuni vor fi executate atunci când starea este adevărată sau dată adevărată)) altceva (una sau mai multe instrucțiuni (vor fi executate atunci când starea este falsă sau este dată falsă))

De exemplu, retrageți un mesaj despre dacă numărul este sau nu:

Dacă (numărul% 2) (consola.log ("număr de ciudat!");) Altceva (consola.log ("număr ce!");)

Regula condiției pentru adevărat sau falsă

Dacă expresia în starea de declarație dacă nu este egală cu adevărată sau falsă, atunci JavaScript va duce la una dintre aceste valori. Efectuează această acțiune utilizând așa-numita "regulă".

Semnificația acestei reguli: orice expresie este adevărată, cu excepția următoarelor valori.:

  • fals (minciună);
  • "" sau "" (șir gol);
  • NAN (tip de date numerice speciale "nu număr");
  • 0 (numărul "zero");
  • null (valoarea "goală");
  • nedefinit (valoarea "incertă").

De exemplu, vom retrage un mesaj de întâmpinare consolei browserului, în funcție de valoarea stocată în variabila NameUser:

Ifuser) (consola.log ("hi," + nume + "!");) Altceva (consola.log ("hi, oaspete!");)

Dacă variabila NameUser va conține un șir gol, apoi în funcție de regula minciunilor, acesta va fi dat valoarea FALSE. În consecință, mesajul "Bună, oaspete!" Va fi afișat în consola .

Și dacă, de exemplu, variabila NameUser va conține șirul Timur, expresia în această afecțiune va fi dată valorii adevăratei. Ca rezultat, mesajul "Bună, Timur!" Va apărea în consola .

Altfel dacă operatorul ... (mai multe condiții)

Sintaxă:

Dacă (condiție1) (instrucțiuni 1) altfel dacă (condiție2) (instrucțiuni 2) altfel dacă (condiție3) (instrucțiuni 3 // ...) altfel dacă (condiția n) altceva (instrucțiuni care vor fi executate dacă nici una dintre condiții nu este egală cu adevărat sau nu este dată acestei valori)

Operator condiționat (Ternary) (? :)

Terner Operator. - Operatorul JavaScript care poate fi utilizat atunci când este necesar să se efectueze una dintre cele două expresii date în funcție de condiție.

Sintaxă:

Condiție? Expresie1: expresie2.

Operatorul ternar este alcătuit din trei operanzi care sunt separați de simboluri? și:. Condiția operatorului terchnic este stabilită în primul operand. De asemenea, poate fi încheiat în paranteze. Dacă starea este adevărată sau va fi dată acestei valori, expresia va fi efectuată1, altfel - expresia 2.

De exemplu:

(Număr\u003e 10)? Consola.log ("număr mai mare de 10!"): Consola.log ("număr mai mic sau egal cu 10");

În JavaScript, mai mulți operatori ternari sunt permiși (? :):

VAR Daynumber \u003d Data nouă (). Itida (); Zi \u003d (Daynumber \u003d\u003d\u003d 0)? "Duminică": (Daynumber \u003d\u003d\u003d 1)? Luni: (Daynumber \u003d\u003d\u003d 2)? Marți: (Daynumber \u003d\u003d\u003d 3)? "Miercuri": (Daynumber \u003d\u003d\u003d 4)? "Joi": (Daynumber \u003d\u003d\u003d 5)? "Vineri": (Daynumber \u003d\u003d\u003d 6)? Sâmbătă: "Ziua necunoscută a săptămânii"; Consola.log ("Astăzi" + zi.tolowowercase () + ".");

Exemplul de mai sus, dar folosind înregistrarea multiplă a operatorului dacă ... altfel:

VAR Daynumber \u003d Data nouă (). Itida (); dacă (Daynumber \u003d\u003d\u003d 0) (zi \u003d "duminică";) altfel dacă (Daynumber \u003d\u003d\u003d 1) (zi \u003d "luni";) altfel dacă (Daynumber \u003d\u003d\u003d 2) (zi \u003d "marți";) Altfel dacă (Daynumber \u003d\u003d\u003d 3) (zi \u003d "mediu";) altfel dacă (Daynumber \u003d\u003d\u003d 4) (zi \u003d "joi";) altfel dacă (Daynumber \u003d\u003d\u003d 5) (zi \u003d "Vineri"; ) Altfel dacă (Daynumber \u003d\u003d\u003d 6) (zi \u003d "sâmbătă";) altceva (zi \u003d zi necunoscută a săptămânii ";) consola.log (" Astăzi "+ zi.tolowowercase () +". ");

Schimbați operatorul

Declarația de comutare este concepută pentru a efectua o versiune de instrucțiuni de la mai multe, în funcție de valoarea expresiei. Alegerea uneia sau a unei alte variante este determinată prin egalitate strictă a rezultatului unei valori de expresie (caz).

Comutatorul operatorului de sintaxă:

Comutator (expresie) (valoarea cazului1: // ... Instrucțiuni care vor fi executate dacă rezultatul calculului de expresie este întreruperea "valorii1"; // instrucțiune opțională (dacă nu este utilizată, apoi următorul comutator de comenzi de comandă) Valoare2: // ... Instrucțiuni care vor fi executate dacă rezultatul calculului de expresie este întreruperea "valorii2"; // instrucțiune opțională (dacă nu este utilizată, atunci următoarea comandă a operatorului de comutare) va fi executată) / / Valoarea cazului N: // .. Instrucțiuni care vor fi executate dacă rezultatul calculului de expresie este întreruperea "valorii"; // instrucțiune opțională (dacă nu este utilizată, apoi următoarea comandă a operatorului de comutare ) Implicit: // Instrucțiuni care vor fi executate dacă rezultatul expresiei nu este egal cu una dintre valori)

Cuvântul cheie implicit este opțional. Se utilizează atunci când trebuie să specificați instrucțiunile care trebuie efectuate dacă rezultatul expresiei nu este egal cu nici o singură opțiune (caz).

Instrucțiunea de întrerupere este opțională. Acesta este conceput pentru a întrerupe executarea operatorului de comutare și a transfera manualul de funcționare după acesta.

De exemplu, vom aduce un mesaj consolei browserului pe numărul de bomboane:

Var Countcandyboys \u003d 1, Countcandygirls \u003d 2, Mesaj; Comutator (numărăcandyboys + numărăcandygirls) (Cazul 1: Mesaj \u003d "o bomboană"; Break; Cazul 2: Cazul 3: Mesaj \u003d "Două sau trei bomboane"; Break; Cazul 4: Mesaj \u003d "Patru bomboane"; Implicit: Mesaj \u003d "Nu numai, nu doi, nu trei și nu patru bomboane";) // retrage un mesaj la consola consolă.log (mesaj);

În exemplul de mai sus, expresia calculată este 3. Prin urmare, mesajul \u003d "două sau trei bomboane" și vor fi efectuate. Instrucțiunea de întrerupere va întrerupe executarea ulterioară a instrucțiunii comutatorului și va transmite gestionarea instrucțiunii care rulează după aceasta, adică. Consola.log (mesaj). Ea va retrage mesajul la consola "Două sau trei bomboane".

De exemplu, vom scoate în vigoare ziua curentă a săptămânii în consola:

Vary vary \u003d ""; Comutator (Data nouă (). Getday ()) (Cazul 0: Day \u003d "Duminică"; Break; Cazul 1: Day \u003d "Luni"; Break; Cazul 2: Ziua \u003d "Marți"; Break; Cazul 3: Ziua \u003d "Miercuri"; Break; Cazul 4: Ziua \u003d "Joi"; Break; Cazul 5: Ziua \u003d "Vineri"; Break; Cazul 6: Day \u003d "Sâmbătă"; Implicit: Day \u003d "Ziua necunoscută a săptămânii" ;) Consola.log ("Astăzi" + zi.tolowowercase () + ".");

Un exemplu în care instrucțiunea de întrerupere nu este utilizată:

Var rezultat \u003d "succes"; Comutator (rezultat) (caz "succes": consola.log ("succes!"); Cauza "Invalidcaptcha": consola.log ("capac invalid!"); Implicit: consola.log ("eroare!");)

În acest exemplu, expresia operatorului de comutare este de succes. În consecință, instruirea consolei.log va fi executată ("Succes!"), Ceea ce va aduce mesajul "Succes!" în consola. Dar de când nu există instrucțiuni de rupere, atunci executarea scriptului va fi continuată în următoarea versiune. Astfel, instrucțiunile vor fi executate înainte ca cei care încă mai îndeplinesc pauza sau sfârșitul operatorului de comutare va fi atins. Ca urmare a acestui exemplu, 3 mesaje vor fi afișate în consola: "Succes!" . "CAPTCHA INVALID!" Și "Eroare!" .

În unele cazuri, poate fi necesar acest comportament, dar nu în acest sens. O eroare este făcută pur și simplu aici.

Versiunea fixă \u200b\u200ba exemplului:

Var rezultat \u003d "succes"; Comutator (rezultat) (caz "succes": consola.log ("succes!"); Pauză; caz "invalidcaptcha": consola.log ("Invalid Cuplu!"); Break, implicit: Console.log ("Eroare!" );););

Operatori logici

JavaScript distinge pe următorii operatori logici:

  • && - logic "și";
  • ||. - logic "sau";
  • Fotografiile! -Logic "nu."

Dacă valorile booleene sunt folosite în operand1 && operand2 expresie logică, rezultatul acestei expresii va fi adevărat dacă fiecare dintre ele este adevărat; În caz contrar, valoarea acestei expresii va fi valoarea falsă.

Fals && FALSE // FALSE TRUE && FALSE // FALSE FALSE && TRUE // FALSE TRUE && TRUE // TRUE

Dacă nu se utilizează valori booleene în expresia logică Operand1 && operand2, atunci rezultatul acestei expresii va fi operand1, dacă poate fi administrat fals; În caz contrar, rezultatul acestei expresii va fi operand2.

5 && 0 // 0 1 && 5 // 5 "șir" && nedefined // nedefinit "string1" && "string2" // "string2"

Dacă în Operand de expresie logică1 || Operand2 au folosit valori booleene, rezultatul acestei expresii va fi adevărat dacă cel puțin unul dintre ele este adevărat; În caz contrar, valoarea acestei expresii va fi valoarea falsă.

FALSE ||. FALSE // FALSE Adevărat || Fals // adevărat fals || Adevărat // adevărat adevărat || Adevarat adevarat.

Dacă în Operand de expresie logică1 || Operand2 utilizează valori booleene, rezultatul acestei expresii va fi operand1, dacă poate fi administrat adevărat; În caz contrar, rezultatul acestei expresii va fi operand2.

5 ||. 0 // 5 1 || 5 // 1 "String" || nedefinit // "șir" "șir1" || "String2" // "String1"

Rezultatul unei expresii logice! Operand1 va fi adevărat dacă operand1 este falsă sau poate fi acordată acestei valori; În caz contrar, rezultatul acestei expresii va fi valoarea falsă.

FALSE // TRUE! TRUE // FALSE! "ROW" // FALSE! 5 // FALSE "

JavaScript - Lecția 7. Raming în program - dacă operatorul

Foarte des există o situație în care trebuie să facem orice acțiune în funcție de orice condiție. De exemplu, avem un magazin online de îmbrăcăminte. Cerem utilizatorului pe care el (un bărbat sau femeie) și, în funcție de răspuns, afișează o listă de bunuri relevante (masculi sau feminin). Când se înregistrează astfel de programe Operatorul condiționat dacă.. Sintaxa este după cum urmează:

Dacă b (s1)
Altceva (S2)

Unde B. - expresia tipului logic și S1. și S2. - operatori.

Funcționează astfel: valoarea expresiei este calculată. B.Dacă este adevărat, atunci operatorul este efectuat S1.Dacă este falsă, atunci operatorul funcționează S2.. Linia Altceva (S2) Puteți scădea.

Cred că exemplul va fi mai clar. Să avem o formă în care utilizatorul intră în 3 valori. Scriem un script care va determina maximul numerelor introduse.

Pentru a începe, scrieți un cod de formular în pagina HTML:

JavaScript dacă

Acum pe pagina Script.js, scrieți codul funcției:

funcție Maxznach (OBJ) (var a \u003d 1 * obj.zn11.value; var b \u003d 1 * obj.zn2.value; var c \u003d 1 * obj.zn3.value; var m \u003d a; dacă (b\u003e m) m \u003d b; dacă (c\u003e m) m \u003d c; obj.res.value \u003d m;)

Deci, funcția noastră are trei valori din formular, pentru maxim ( m.) Luăm valoarea a.. Apoi comparați: dacă valoarea b. Mai mult (adică a.), apoi maximul devine b.În caz contrar, maximul rămâne a. (Deoarece expresia în paranteze nu este adevărată). Mai mult, comparativ cu următoarea valoare. c. Cu maxim. Răspunsul este afișat în câmpul Rezultat ( res.).

În general, un astfel de scenariu ar putea fi scris folosind metoda max. Obiect Matematică.luate în considerare în lecția trecută, iar codul se va transforma în mai scurt:

funcție maxznach (obj) (var a \u003d 1 * obj.zn11.value; var b \u003d 1 * obj.zn2.value; var c \u003d 1 * obj.zn3.value; obj.res.value \u003d matemath.max (matematică .Max (a, b), c);)

Acest lucru sunt de faptul că programarea este încă creativă, iar o sarcină poate fi rezolvată în moduri diferite. Sarcina programatorului găsește cea mai optimă opțiune. Dar acest lucru este așa, o retragere lirică. Să revenim la operatorul de condițional și să luăm în considerare un exemplu mai interesant. Scriem un script, care este momentul căruia, atunci când depuneți cursorul mouse-ului pe imagine, acesta va crește prin crearea efectului aproximării.

Cum vă amintiți în HTML puteți seta dimensiunea imaginii inserate. Dacă dimensiunile specificate sunt mai mari sau mai puțin decât originalul, browserul va gala automat originalul sub aceste dimensiuni. Acest lucru pe care îl folosim. Să avem o astfel de imagine:

Lățimea pixelului original de 302. Vrem ca imaginea să fie de 102 pixeli lățime pe pagină și când depuneți cursorul, a crescut până la 302 pixeli. Cu pagina HTML totul este clar:

JavaScript dacă

Și în funcția noastră, în plus față de operatorul condițional, vom folosi funcția standard JavaScript settimeout.care determină o funcție de utilizator la un anumit interval de timp:

Funcție bigpict () (var w \u003d document.tigr.width; dacă (w Astfel, funcția verifică lățimea imaginii ( lăţime.) Și, dacă este mai mică de 302 pixeli, crește apoi această lățime de 10 pixeli. Funcţie settimeout. Apelați funcția noastră bigpict la fiecare jumătate de secundă, datorită cărora dimensiunea imaginii va crește atâta timp cât starea w nu va fi falsă.

Pentru a face vizual aproximarea mai ușor, încercați să reduceți lățimea lățimii și ora de referință la funcție. Jucați cu aceste numere și găsiți cele mai optime.

Astăzi, toată lumea, ca o temă, adăugați scenariul nostru ca imagine când cursorul de șoarece intră în valorile inițiale (adică 102 pixeli). Dacă nu funcționează, atunci descărcați



Ți-a plăcut articolul? Împărtășește-l