Operatori binari Javascript. Operatori JavaScript

23.06.2020 Photoshop

Expresiile din JavaScript sunt combinații operanziŞi operatori.

Operațiuniîn expresiile sunt executate secvenţial în conformitate cu valoarea priorităţii (cu cât valoarea priorităţii este mai mare, cu atât este mai mare). Rezultatul returnat nu este întotdeauna de același tip cu tipul de date care sunt procesate. De exemplu, operațiunile de comparare implică operanzi de diferite tipuri, dar rezultatul returnat va fi întotdeauna de tip boolean.

Orez. 1. Structura expresiei în JavaScript

Operanzii sunt datele procesate de scriptul JavaScript. Operanzii pot fi tipuri de date simple sau complexe, precum și alte expresii.

Operatorii sunt simboluri lingvistice care efectuează diverse operații asupra datelor. Operatorii pot fi scrii folosind caractere de punctuație sau cuvinte cheie.

În funcție de numărul de operanzi, se disting următoarele tipuri de operatori:
unar - un operand este implicat în operație;
binar - operația implică doi operanzi;
ternar - combină trei operanzi.

Cea mai simplă formă a unei expresii este un literal - ceva care se evaluează în sine, de exemplu, numărul 100, șirul „Bună lume”. O variabilă poate fi și o expresie, deoarece se evaluează la valoarea care i-a fost atribuită.

Expresii și operatori în JavaScript 1. Operatori aritmetici

Operatorii aritmetici sunt proiectați pentru a efectua operații matematice; aceștia operează pe operanzi numerici (sau variabile care stochează valori numerice), returnând ca rezultat o valoare numerică.

Dacă unul dintre operanzi este un șir, interpretul JavaScript va încerca să-l convertească într-un tip numeric și apoi va efectua operația corespunzătoare. Dacă conversia tipului nu este posibilă, rezultatul va fi NaN (nu un număr).

Tabelul 1. Operatori aritmetici Operator/Descrierea operațiunii Prioritate
+ Adaos Adaugă operanzi numerici. Dacă unul dintre operanzi este un șir, atunci rezultatul expresiei este un șir. 12
- Scăderea Scade al doilea operand din primul. 12
- Minus unar Convertește un număr pozitiv într-un număr negativ și invers. 14
* Înmulțirea Înmulțește doi operanzi. 13
/ Divizia Împarte primul operand la al doilea. Rezultatul împărțirii poate fi fie un număr întreg, fie un număr în virgulă mobilă. 13
% Diviziune Modulo (diviziune rest) Calculează restul rezultat dintr-o împărțire întreagă a primului operand la al doilea. Se aplică atât numerelor întregi, cât și numerelor în virgulă mobilă. 13
var x = 5, y = 8, z; z = x + y; // returnează 13 z = x - y; // returnează -3 z = - y; // returnează -8 z = x * y; // returnează 40 z = x / y; // returnează 0,625 z = y % x; // returnează 3 2. Operatori de atribuire

Operatorii de atribuire sunt utilizați pentru a atribui valori variabilelor. Operatorii combinați vă permit să stocați valorile originale și ulterioare într-o singură variabilă.

var a = 5; // atribuiți valoarea numerică 5 variabilei a var b = "bună ziua"; // stochează șirul hellow în variabila b var m = n = z = 10; // atribuie variabilelor m, n, z valoarea numerică 10 x += 10; // echivalent cu x = x + 10; x -= 10; // echivalent cu x = x - 10; x *= 10; // echivalent cu x = x * 10; x /= 10; // echivalent cu x = x / 10; x %= 10; // echivalent cu x = x % 10; 3. Operatori de creștere și decrementare

Operațiile de creștere și decrementare sunt unare și de creștere și decrementare a valorii operandului cu unu. Operandul poate fi o variabilă, un element de matrice sau o proprietate de obiect. Cel mai adesea, astfel de operațiuni sunt folosite pentru a incrementa un numărător într-o buclă.

var x = y = m = n = 5, z, s, k, l; z = ++x * 2; /* ca rezultat al calculelor va returna valoarea z = 12, x = 6, i.e. valoarea lui x se mărește mai întâi cu 1, apoi se realizează operația de înmulțire */ s = y++ * 2; /* ca rezultat al calculelor va returna valoarea s = 10, y = 6, i.e. Mai întâi se efectuează operația de înmulțire, iar apoi valoarea mărită cu 1 este stocată în variabila y */ k = --m * 2; // returnează valoarea k = 8, m = 4 l = n-- * 2; // returnează valoarea l = 10, n = 4 4. Operatori de comparare

Operatorii de comparație sunt utilizați pentru a compara operanzi, rezultatul expresiei poate fi una dintre cele două valori - adevărat sau fals. Operanzii pot fi nu numai numere, ci și șiruri de caractere, valori logice și obiecte. Cu toate acestea, comparațiile pot fi efectuate numai pe numere și șiruri, astfel încât operanzii care nu sunt numere sau șiruri sunt convertiți.

Dacă ambii operanzi nu pot fi convertiți cu succes în numere sau șiruri de caractere, operatorii returnează întotdeauna false .

Dacă ambii operanzi sunt șiruri/numere sau pot fi convertiți în șiruri/numere, ei vor fi comparați ca șiruri/numere.

Dacă un operand este un șir/conversie într-un șir, iar celălalt este un număr/conversie într-un număr, atunci operatorul va încerca să convertească șirul într-un număr și va efectua o comparație de numere. Dacă șirul nu este un număr, acesta este convertit în NaN și rezultatul comparației este fals.

Cel mai adesea, operațiunile de comparație sunt folosite la organizarea ramurilor în programe.

Tabelul 4. Operatori de comparare Operator/Descrierea operațiunii Prioritate
== Egalitatea Testează două valori pentru aceeași valoare, permițând conversia tipului. Returnează true dacă operanzii sunt aceiași și false dacă sunt diferiți. 9
!= Inegalitate Returnează adevărat dacă operanzii nu sunt egali 9
=== Identitate Testează doi operanzi pentru „identitate” folosind o definiție strictă a unei potriviri. Returnează adevărat dacă operanzii sunt egali fără conversie de tip. 9
!== Non-identitate Efectuează verificarea identității. Returnează adevărat dacă operanzii nu sunt egali fără conversie de tip. 9
> Mai multe Returnează adevărat dacă primul operand este mai mare decât al doilea, în caz contrar returnează false. 10
>= Mai mare sau egal cu Returnează adevărat dacă primul operand nu este mai mic decât al doilea, în caz contrar returnează false. 10
Returnează adevărat dacă primul operand este mai mic decât al doilea, în caz contrar returnează false. 10
Returnează adevărat dacă primul operand nu este mai mare decât al doilea, în caz contrar returnează false. 10
5 == "5"; // returnează adevărat 5 != -5.0; // returnează adevărat 5 === "5"; // returnează false false === false; // returnează adevărat 1 !== adevărat; // returnează adevărat 1 != adevărat; // va returna false deoarece true este convertit la 1 3 > -3; // returnează adevărat 3 >= "4"; // returnează false 5. Operatori logici

Operatorii logici vă permit să combinați condiții care returnează valori booleene. Cel mai adesea folosit într-o declarație condițională if.

(2 < 3) && (3===3); // вернет true, так как выражения в обеих скобках дают true (x < 10 && x >0); // va returna adevărat dacă x este în intervalul de la 0 la 10 !false; // returnează adevărat 6. Operatori pe biți

Operatorii pe biți operează pe operanzii lor ca o secvență de 32 de biți de unu și zero și returnează o valoare numerică reprezentând rezultatul operației, scrisă în notație zecimală. Numerele întregi sunt considerate operanzi; Operațiile pe biți pot fi utilizate, de exemplu, la criptarea datelor, lucrul cu steaguri și delimitarea drepturilor de acces.

Tabelul 6. Operatori pe biți Operator/Descrierea operațiunii Prioritate
& ȘI pe biți Dacă ambii biți sunt 1, atunci bitul rezultat va fi 1. În caz contrar, rezultatul este 0. 8
| SAU pe biți Dacă unul dintre operanzi conține un 1 la poziție, rezultatul va conține și un 1 la acea poziție, altfel rezultatul la acea poziție va fi 0. 6
^ SAU exclusiv Dacă una și o singură valoare conține un 1 la orice poziție, atunci rezultatul va conține un 1 la acea poziție, altfel rezultatul la acea poziție va fi 0. 7
~ Negare O operație de negație pe biți este efectuată pe reprezentarea binară a valorii unei expresii. Orice poziție care conține un 1 în expresia originală este înlocuită cu un 0. Orice poziție care conține 0 în expresia originală devine 0 . Numerele pozitive încep de la 0, numerele negative încep de la -1, deci ~ n == -(n+1) . 14
Operatorul deplasează biții primului operand la stânga cu numărul de poziții de biți stabilit de al doilea operand. Zerourile sunt folosite pentru a umple pozițiile din dreapta. Returnează un rezultat de același tip ca și operandul din stânga. 11
>> Deplasare pe biți la dreapta Operatorul deplasează biții primului operand la dreapta cu numărul de poziții de biți stabilit de al doilea operand. Cifrele mutate în afara intervalului sunt eliminate. Cel mai semnificativ bit (al 32-lea) este lăsat neschimbat pentru a păstra semnul rezultatului. Dacă primul operand este pozitiv, cei mai semnificativi biți ai rezultatului sunt umpluți cu zerouri; dacă primul operand este negativ, cei mai semnificativi biți ai rezultatului sunt umpluți cu unii. Deplasarea unei valori la dreapta cu o poziție echivalează cu împărțirea la 2 (eliminarea restului), iar deplasarea la dreapta cu două poziții este echivalentă cu împărțirea la 4 etc. 11
>>> Deplasare pe biți la dreapta fără semn Operatorul deplasează biții primului operand la dreapta cu numărul de poziții de biți stabilit de al doilea operand. Se adaugă zerouri la stânga, indiferent de semnul primului operand. Cifrele mutate în afara intervalului sunt eliminate. 11
var x = 9, y = 5, z = 2, s = -5, rezultat; // 9 este echivalent cu 1001, 5 este echivalent cu 0101 rezultat = x & y; // va returna 1 (echivalent cu 0001) rezultat = x | y; // va returna 13 (echivalent cu 1101) rezultat = x ^ y; // returnează 12 (echivalent cu 1100) rezultat = ~ y; // va returna -6 (echivalent cu 1100) rezultat = x > z; // returnează 2 (echivalent cu 10) rezultat = s >>> z; // va returna 1073741822 (echivalent cu 11111111111111111111111111110) 7. Operatori șiruri

Există mai mulți operatori care lucrează cu șiruri în moduri speciale.

„1” + „10”; // returnează „110” „1” + 10; // returnează „110” 2 + 5 + „creioane colorate”; // returnează „7 creioane colorate” „Cioane colorate” + 2 + 5; // returnează „25 creioane colorate” „1” > „10”; // returnează false „10” 10 ? x * 2: x / 2; // returnează x * 2 dacă x > 10, în caz contrar x / 2 9. Comentarii în JavaScript

Comentariu pe o singură linie: trebuie să precedați textul comentariului cu simbolurile // .

Cuprinsul documentului

JavaScript acceptă un set compact de operatori care pot fi utilizați pentru a crea pagini web interactive. Acest capitol oferă o privire de ansamblu asupra acestor operatori.

Acest capitol conține următoarele secțiuni, care oferă o scurtă prezentare generală a fiecărei declarații:

  • Bloc operator: ( )
  • Instrucțiuni condiționale: if...else și switch
  • Instrucțiuni de buclă: for, while, do...while, eticheta, break și continue (eticheta în sine nu este o instrucțiune buclă, dar este adesea folosită cu instrucțiuni specificate)
  • Operatori de manipulare a obiectelor: pentru...în și cu
  • Comentarii
  • Operatori de tratare a excepțiilor: încercați... prindeți și aruncați
Orice expresie este, de asemenea, un operator. Consultați Capitolul 3 din secțiunea „Expresii și operații” pentru informații complete despre operațiuni.

Utilizați caracterul punct și virgulă (;) pentru a separa instrucțiunile din codul JavaScript.

Vezi cartea JavaScript Core. Director. detalii despre operatori din acest capitol.

1. Bloc de instrucțiuni Blocul de instrucțiuni este utilizat pentru a grupa instrucțiuni. Blocul este delimitat de acolade:

( statement1 statement2 . . statementn )

2. Instrucțiuni condiționale O instrucțiune condiționată este un set de comenzi care sunt executate dacă o condiție specificată este adevărată. JavaScript acceptă două instrucțiuni condiționale: if...else și switch .2.1. if...else statement Această instrucțiune este folosită pentru a executa anumite instrucțiuni dacă condiția booleană este adevărată; utilizați un bloc opțional else pentru a executa alte instrucțiuni dacă condiția este falsă. Declarația if arată astfel:

dacă (condiție) (afirmații1) [altfel (afirmațiilor 2)]

Condiția poate fi orice expresie JavaScript care evaluează drept adevărat sau fals . Instrucțiunile executabile pot fi orice instrucțiuni JavaScript, inclusiv instrucțiuni if ​​imbricate. Dacă trebuie să executați mai multe instrucțiuni după o instrucțiune if sau else, trebuie să includeți acele instrucțiuni executabile între acolade ().

Nu ar trebui să utilizați sarcini simple într-o declarație condiționată. De exemplu, NU utilizați cod ca acesta:

Dacă trebuie să utilizați o atribuire într-o instrucțiune condiționată, introduceți paranteze suplimentare în jurul operatorului de atribuire. De exemplu, dacă((x = y)) .

Nu confundați valorile booleene primitive adevărate și false cu valorile adevărate și false ale unui obiect boolean. Orice obiect a cărui valoare nu este nedefinită , nulă , zero , **NaN** sau șirul gol, inclusiv un obiect boolean cu valoarea false , este evaluat la adevărat atunci când este transmis unei instrucțiuni condiționate. De exemplu:

var b = new Boolean(fals); dacă (b ) // această condiție se evaluează ca adevărată

Exemplu.

În acest exemplu, funcția checkData returnează true dacă numărul de caractere din obiectul Text este trei; în caz contrar, afișează un avertisment și returnează false .

funcția checkData () ( if (document . form1 . threeChar . value . length == 3 ) ( return true ) else ( alert (" Introduceți exact trei caractere. " + document . form1 . threeChar . value + " nu este valid." ) returnează fals ) )

2.2. Declarație Switch Declarația switch permite unui program să evalueze o expresie și încearcă să potrivească valoarea expresiei cu valoarea din eticheta case. Dacă se găsește o potrivire, programul execută instrucțiunea asociată. Declarația switch arată astfel:

comutare (expresie)( case etichetă: instrucțiune; break; case etichetă: instrucțiune; break; ... implicit: instrucțiune;)

Programul caută mai întâi o etichetă care se potrivește cu valoarea expresiei și apoi execută instrucțiunea asociată. Dacă o etichetă potrivită nu este găsită, programul caută o instrucțiune implicită opțională și, dacă este găsită, execută instrucțiunea asociată. Dacă instrucțiunea implicită nu este găsită, programul continuă să execute instrucțiunea după sfârșitul instrucțiunii switch.

Declarația opțională break asociată cu o etichetă case asigură că programul întrerupe execuția instrucțiunii switch de îndată ce instrucțiunea de potrivire este executată și continuă execuția din instrucțiunea care urmează instrucțiunii switch. Dacă break nu este prezent, programul continuă să execute următoarea instrucțiune din interiorul instrucțiunii switch.

Exemplu.

Aici, dacă expr evaluează Bananas , programul se potrivește cu case Bananas și execută instrucțiunea asociată. Dacă se întâlnește break, programul întrerupe switch și execută instrucțiunea după blocul de instrucțiune switch. Dacă lipsește pauză, se va executa și declarația în cazul în care Ciresele.

switch (expr) ( caz „Portocale” : document. scrie („ Portocalele sunt 0,59 USD pe liră.
" ); break ; case " Mere " : document . scrie (" Merele sunt 0,32 USD pe liră.
" ); break ; case " Banane " : document . scrie (" Bananele sunt 0,48 USD pe liră.
" ); break ; case " Cireșe " : document . scrie (" Cireșele sunt 3,00 USD pe liră.
" ); break ; implicit: document . write (" Ne pare rău, nu mai avem " + i + " .
" ) ; ) document . write (" Mai este ceva ce ai dori?
" ) ;

3. Instrucțiuni bucle O buclă este un set de instrucțiuni care este executată de mai multe ori în timp ce o condiție specificată este îndeplinită. JavaScript acceptă instrucțiunile , do...while și while, precum și eticheta (label în sine nu este un operator de buclă, dar este adesea folosit cu instrucțiuni specificate). În plus, puteți utiliza instrucțiuni break și continue în interiorul instrucțiunilor bucle.

Un alt operator de buclă, for...in , își execută, de asemenea, instrucțiunile ciclic, dar este folosit pentru a lucra cu obiecte. Consultați Operatori de manipulare a obiectelor.

3.1. Instrucțiunea for Bucla for se repetă până când valoarea specificată este falsă. Bucla JavaScript for este similară cu buclele Java și C for.

pentru ([ initialExpression ]; [ condiție ]; [ incrementExpression ]) ( instrucțiuni )

Când bucla for este executată, se întâmplă următoarele:

1. Expresia inițială, dacă este prezentă, este executată. Această expresie inițializează de obicei unul sau mai multe contoare de bucle, iar sintaxa permite expresii de orice complexitate. Această expresie poate declara și variabile.


2. Se evaluează expresia condiției. Dacă condiția este adevărată, instrucțiunile buclei sunt executate. Dacă condiția este falsă, bucla for se termină. Dacă expresia condiției este complet absentă, condiția se presupune că este adevărată.


3. Declarațiile sunt executate.


4. incrementExpression, dacă este prezentă, este executată și controlul revine la Pasul 2.


Exemplu.

Această funcție conține o instrucțiune for care numără numărul de opțiuni selectate dintr-o listă derulabilă (un obiect Select care vă permite să selectați mai multe elemente). Instrucțiunea for declară variabila i și o inițializează la zero. Verifică dacă i este mai mic decât numărul de opțiuni din obiectul Select, execută o instrucțiune if și incrementează variabila i cu una după fiecare trecere prin buclă.

funcția howMany(selectObject) (var numberSelected=0; for (var i=0; i< selectObject.options.length; i++) { if (selectObject.options[i].selected==true) numberSelected++; } return numberSelected; }

Alegeți câteva tipuri de muzică, apoi faceți clic pe butonul de mai jos:
R&B Jazz Blues New Age Classical Opera

3.2. Instrucțiunea do...while Instrucțiunea do...while se repetă atâta timp cât expresia specificată este falsă.

Declarația do...while arată astfel:

do (instrucțiune) în timp ce (condiție)

instrucțiunea este executată o dată înainte de a verifica condiția. Dacă condiția este adevărată, instrucțiunea este executată din nou. La sfârșitul fiecărei execuții, se verifică starea. Dacă condiția este falsă, execuția se oprește și controlul este transferat instrucțiunii după do...while.

Exemplu.

În acest exemplu, bucla do repetă cel puțin o dată și repetă iterațiile atâta timp cât i este mai mic de 5 .< 5 ) ;

do ( i += 1 ; document . scrie (i ) ; ) în timp ce (i

3.3. Instrucțiunea while Instrucțiunea while își execută instrucțiunile atâta timp cât condiția specificată este adevărată. Declarația while arată astfel:

while (condiție) (afirmații)

Dacă condiția devine falsă, instrucțiunile din interiorul buclei se opresc din executare și controlul trece la următoarea instrucțiune după buclă.

Condiția este verificată înainte ca instrucțiunile din interiorul buclei să fie executate. Dacă condiția returnează true , instrucțiunile sunt executate și condiția este verificată din nou. Dacă condiția returnează false , bucla este încheiată și controlul este transferat instrucțiunii care urmează instrucțiunii while.

Exemplul 1.

Această buclă while se repetă până când n este mai mic de 3:< 3 ) { n ++; x += n ; }

n = 0; x = 0 ; în timp ce (n

  • La fiecare iterație, bucla crește n și adaugă acea valoare la x. Prin urmare, x și n iau următoarele valori:
  • După prima trecere: n = 1 și x = 1
  • După a doua trecere: n = 2 și x = 3
După a treia trecere: n = 3 și x = 6< 3 больше не true, поэтому выполнение цикла прерывается.

După trei treceri ale buclei, condiția n

Exemplul 2: Buclă infinită.

Asigurați-vă că condiția buclei devine vreodată falsă; altfel ciclul nu va fi întrerupt niciodată. Următoarea buclă while se execută pe termen nelimitat, deoarece condiția nu va deveni niciodată falsă:

în timp ce (adevărat) (alerta ("Bună ziua, lume"))

3.4. Declarație de etichetă Declarația de etichetă este un identificator care poate fi referit oriunde în program. De exemplu, puteți utiliza o etichetă pentru a identifica o buclă și apoi utilizați instrucțiuni break sau continue pentru a încheia bucla sau pentru a continua execuția.

Sintaxa pentru instrucțiunea label arată astfel:

etichetă: declarație

instrucțiunea este executată o dată înainte de a verifica condiția. Dacă condiția este adevărată, instrucțiunea este executată din nou. La sfârșitul fiecărei execuții, se verifică starea. Dacă condiția este falsă, execuția se oprește și controlul este transferat instrucțiunii după do...while.

Valoarea etichetei poate fi orice identificator JavaScript valid care nu este un cuvânt rezervat. Declarația/instrucțiunea identificată prin etichetă poate fi orice declarație.

markLoop : while (theMark == true ) doSomething () ; )

3.5. Instrucțiune break Utilizați instrucțiunea break pentru a întrerupe o buclă de comutare sau o instrucțiune de etichetă.
  • Dacă utilizați break fără o etichetă, aceasta întrerupe imediat cea mai apropiată instrucțiune care conține while , do-while , for sau switch și transmite controlul instrucțiunii următoare.
  • Dacă utilizați break cu label , se întrerupe instrucțiunea etichetată specificată.
Sintaxa instrucțiunii break este:

1. pauză 2. rupe eticheta

Prima opțiune întrerupe cea mai apropiată buclă de conținut sau comutator; a doua opțiune întrerupe o instrucțiune specificată care are o etichetă.

Exemplu.

Aceasta iterează prin elementele matricei până când este găsit indexul elementului cu valoarea theValue:

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

3.6. Operatorul continue Operatorul continue este folosit pentru a reporni instrucțiunile while , do-while , for și eticheta.
  • Dacă utilizați continue fără etichetă, se întrerupe iterația curentă a celei mai apropiate bucle while, do-while sau for și continuă executarea acelei bucle de la următoarea iterație. Spre deosebire de instrucțiunea break, continue nu întrerupe complet execuția buclei. În bucla while trece la condiție. Într-o buclă for pe increment-expression .
  • Dacă utilizați continue cu o etichetă, aceasta se aplică instrucțiunii buclei identificate de acea etichetă.
Sintaxa instrucțiunii continue este:

1. continua 2. continua eticheta

Condiția este verificată înainte ca instrucțiunile din interiorul buclei să fie executate. Dacă condiția returnează true , instrucțiunile sunt executate și condiția este verificată din nou. Dacă condiția returnează false , bucla este încheiată și controlul este transferat instrucțiunii care urmează instrucțiunii while.

Acesta este un exemplu de buclă while cu o instrucțiune continue care se execută dacă valoarea lui i este 3 . Deci n primește valorile 1, 3, 7 și 12.

i = 0; n = 0; în timp ce (i< 5 ) { i ++; if (i == 3 ) continue ; n += i ; }

Exemplul 2.

O instrucțiune etichetată checkiandj conține o instrucțiune etichetată checkj . Dacă se întâlnește continuare, programul abandonează iterația curentă a verificării j și începe următoarea iterație. De fiecare dată când se întâlnește continuare, checkj începe să itereze din nou până când starea sa revine false . Dacă se returnează false, restul instrucțiunii checkiandj este executată și checkiandj se repetă până când condiția sa returnează false. Dacă se returnează false, programul continuă execuția din instrucțiunea care urmează checkiandj .

Dacă continue are o etichetă pentru checkiandj , programul va continua execuția de la începutul instrucțiunii checkiandj.

checkiandj : în timp ce (i< 4 ) { document . write (i + "
" ) ; i += 1 ; checkj : while (j > 4 ) ( document . scrie (j + ")
" ) ; j -= 1 ; dacă ((j % 2 ) == 0 ) continuă verificarea j ; document . scrie (j + " este impar.
" ) ; ) document . scrie (" i = " + i + "
" ); document . scrie (" j = " + j + "
" ) ; }

4. Operatori de manipulare a obiectelor JavaScript folosește pentru...în și cu instrucțiuni pentru a manipula obiecte.4.1. Operatorul for...in Operatorul for...in repetă variabila specificată peste toate proprietățile obiectului. Pentru fiecare proprietate atinsă, JavaScript execută operatorii specificați. Declarația for...in arată astfel:

Pentru (variabilă în obiect) (

Exemplu.

Această funcție ia ca argument un obiect și numele obiectului. Apoi iterează prin toate proprietățile acelui obiect și returnează un șir - o listă de nume de proprietăți și valorile acestora.

funcția dump_props (obj , obj_name ) ( var rezultat = "" ; pentru (var i în obj ) ( rezultat += obj_name + " . " + i + " = " + obj [ i ] + "
" ) rezultat += " " ; returnează rezultatul ; )

Pentru un obiect auto cu proprietăți de marcă și model, rezultatul ar fi:

masina. make = mașină Ford . model=Mustang

4.2. Instrucțiunea with Instrucțiunea with setează obiectul implicit pentru un set de blocuri de instrucțiuni. JavaScript analizează numele necalificate din interiorul blocului de instrucțiuni și determină dacă numele sunt proprietăți ale obiectului în mod implicit. Dacă numele necalificat este o proprietate, atunci acea proprietate este utilizată în declarație; în caz contrar, se utilizează o variabilă locală sau globală.

Declarația with arată astfel:

cu (obiect)( afirmații)

Exemplu.

Aici instrucțiunea with specifică că obiectul Math este obiectul implicit. Declarațiile după instrucțiunea with accesează proprietatea PI și metodele cos și sin fără a specifica un obiect. JavaScript acceptă un obiect Math ca obiect pentru aceste apeluri.

var a , x , y ;; var r = 10 cu (Math) ( a = PI * r * r ; x = r * cos (PI ) ; y = r * sin (PI / 2); )

Nota:

Utilizarea instrucțiunii with poate încetini semnificativ execuția programului.

5. Comentarii Comentariile explică de obicei ce face codul. Comentariile sunt ignorate de interpret. JavaScript acceptă comentarii în stilul Java și C++:
  • Un comentariu pe o linie cu o bară oblică dublă la începutul liniei (//).
  • Comentariu pe mai multe linii cu /* la început și */ la sfârșit.
Exemplu.

Iată un exemplu de două comentarii:

// Acesta este un comentariu pe o linie. /* Și acesta este cu mai multe linii. Poate avea orice lungime și puteți pune tot ce doriți aici. */

6. Operatori de tratare a excepțiilor Puteți ridica o excepție cu instrucțiunea throw și o puteți gestiona cu instrucțiunile try...catch.

Instrucțiunea try...catch este folosită și pentru a gestiona excepțiile Java. Consultați Gestionarea excepțiilor Java în JavaScript și Gestionarea excepțiilor JavaScript în Java.

6.1. Declarație Throw Declarația throw este folosită pentru a arunca o excepție. Dacă aruncați o excepție, specificați o expresie care conține valoarea excepției:

arunca expresie

Următorul cod aruncă câteva excepții.

aruncă „Eroare2”; // aruncă o excepție cu o valoare șir throw 42 ; // aruncă o excepție cu valoarea 42 throw true ; // aruncă o excepție cu valoarea true

Când aruncați o excepție, puteți specifica un obiect. Apoi puteți accesa proprietățile obiectului din blocul catch. Următorul exemplu creează un obiect myUserException de tip UserException și îl folosește într-o instrucțiune throw.

// Se creează un obiect de tip UserException funcția UserException (mesaj) ( this . message = message ; this . name = " UserException " ; ) // O instanță de obiect este creată și numită myUserException = new UserException ( " Value too high " ) ; arunca myUserException ;

6.2. Instrucțiunea try...catch Instrucțiunea try...catch marchează un bloc de instrucțiuni, încearcă să le execute și specifică unul sau mai multe răspunsuri posibile atunci când apare o excepție. Dacă apare o excepție, instrucțiunea try...catch o prinde.

O instrucțiune try...catch constă dintr-un bloc try, care conține una sau mai multe instrucțiuni și zero sau mai multe blocuri catch, care conțin instrucțiuni care specifică ce trebuie făcut atunci când o excepție este aruncată în blocul try. Adică, dacă doriți să executați un bloc try și acesta nu se execută, treceți controlul blocului catch. Dacă orice instrucțiune dintr-un bloc try (sau instrucțiune dintr-o funcție numită dintr-un bloc try) aruncă o excepție, controlul este transferat imediat în blocul catch. Dacă nu a fost aruncată nicio excepție, blocul catch este omis. Blocul final este executat după ce sunt executate blocurile try și catch, dar înainte de executarea instrucțiunii care vine după blocul de instrucțiuni try...catch.

Următorul exemplu utilizează instrucțiunea try...catch. Se numește o funcție care solicită numele lunii din tablou, pe baza valorii transmise funcției. Dacă valoarea nu se potrivește cu numărul lunii (1-12), este aruncată o excepție cu valoarea „InvalidMonthNo” și instrucțiunile catch block setează variabila monthName la necunoscut.

function getMonthName (lu) ( mo = lu - 1 ; // Numărul lunii este specificat de indexul matricei (1=Jan, 12=Dec) var months = new Array (" Jan " , " Feb " , " Mar " , " Apr " , " Mai " , " Iun " , " Iul " , " Aug " , " Sep " , " Oct " , " Noi " , " Dec " ) ) dacă ( luni [ lună ] != nul ) ( luni de întoarcere; [ mo ] ) else ( throw " InvalidMonthNo " ) ) try ( // încercarea de a executa aceste instrucțiuni: monthName = getMonthName (myMonth ) // funcția poate arunca o excepție ) catch (e ) ( monthName = " necunoscut " logMyErrors (e ) // obiectul care a provocat excepția este trecut la handler-ul de excepții)

arunca ; puteți folosi acest identificator pentru a obține informații despre excepția aruncată. JavaScript creează acest identificator la introducerea unui bloc catch; identificatorul există numai în timpul execuției blocului de captură; Odată ce blocul catch s-a terminat de executat, identificatorul nu mai este disponibil.

De exemplu, următorul cod aruncă o excepție. Dacă apare o excepție, controlul este transmis blocului catch.

încercați (aruncă „myException” // se aruncă o excepție) catch (e) ( // operatori care să gestioneze orice excepție logMyErrors (e) // excepția este transmisă gestionarului de erori)

Blocuri de prindere multiple

O singură instrucțiune try poate conține mai multe clauze catch, fiecare dintre ele gestionând un anumit tip de excepție. În acest caz, blocul de captură condiționat corespunzător este introdus numai atunci când excepția specificată pentru acel bloc este ridicată. De asemenea, puteți include opțional un bloc catch separat pentru toate excepțiile nespecificate ca bloc catch final în instrucțiune.

De exemplu, următoarea funcție apelează alte trei funcții (declarate în altă parte) care își testează argumentele. Dacă funcția de validare determină că componenta testată este invalidă, returnează 0, determinând ca funcția de apelare să arunce excepția specificată.

funcția getCustInfo (nume, id, e-mail) ( var n , i , e ; if (! validate_name (nume )) throw " InvalidNameException " else n = nume ; if (! validate_id (id )) throw " InvalidIdException " else i = id ; if (! validate_email ( email )) throw " InvalidEmailException " else e = email = ( n + " " + i + " " + e );

Blocurile de captură condiționată controlează invocarea gestionarului de excepții adecvat.
" ) ( // apelează handler-ul de identificare invalid bad_id_handler (e ) ) catch (e if e == " InvalidEmailException " ) ( // apelează handler-ul de adrese de e-mail invalid bad_email_handler (e ) ) catch (e )( // excepția necunoscută este scris în fișierul jurnal logError (e) )

în sfârșit blocați

Un bloc finally conține instrucțiuni care sunt executate după ce sunt executate blocurile try și catch, dar înainte ca instrucțiunile care vin după instrucțiunea try...catch să fie executate. Blocul final este executat indiferent dacă este aruncată o excepție. Dacă se aruncă o excepție, instrucțiunile din blocul finally sunt executate chiar dacă niciun bloc catch nu a gestionat excepția.

Puteți folosi un bloc final pentru a termina cu grație un script atunci când apare o excepție; de exemplu, poate fi necesar să eliberați o resursă legată de un script. În exemplul următor, un fișier este deschis și operatorii operează pe el (JavaScript pe partea de server permite accesul la fișiere). Dacă se aruncă o excepție în timp ce fișierul este deschis, blocul final închide fișierul înainte ca scriptul să eșueze.

deschideMyFile(); încercați ( writeMyFile ( theData ) ) în cele din urmă ( closeMyFile () // resursa este întotdeauna închisă)

Nesting try... catch statements

Puteți pune una sau mai multe try...catch declarații unul în celălalt. Dacă instrucțiunea internă try...catch nu are un bloc catch, blocul catch al instrucțiunii care conține try...catch este verificat pentru o potrivire.

Acest capitol descrie expresii și operatori JavaScript, cum ar fi alocare, comparare, aritmetică, biți, logic, șir și diferiți operatori speciali.

O listă completă și detaliată de operatori și expresii este, de asemenea, disponibilă în acest manual.

Operatori

JavaScript are următoarele tipuri de operatori. Această subsecțiune descrie fiecare tip și conține informații despre prioritatea lor unul față de celălalt.

JavaScript acceptă operatorii binari și unari, precum și un alt operator ternar special, operatorul condiționat. O operație binară folosește doi operanzi, unul înaintea operatorului și unul după acesta:

operand1 operator operand2

De exemplu: 3+4 sau x*y.

O operație unară, pe de altă parte, folosește un operand, înainte sau după operator:

operator operand operand operator

De exemplu: x++ sau ++x.

Operatori de atribuire

Ca rezultat al operației de atribuire, operandul din stânga operatorului de atribuire (semnul „=") este setat la valoarea care este preluată din operandul din dreapta. Operatorul de atribuire de bază este =, care atribuie valoarea operandului din dreapta operandului din stânga. Astfel, expresia x = y înseamnă că lui x i se atribuie valoarea lui y.

Există, de asemenea, operatori de atribuire compuși care sunt utilizați pentru a oferi o reprezentare scurtă a operațiilor descrise în următorul tabel:

Lista operatorilor de atribuire Nume Operator abreviat Sens
Misiunea x = y x = y
Atribuire cu adaos x += y x = x + y
Atribuire cu scădere x -= y x = x - y
Atribuire cu înmulțire x *= y x = x * y
Atribuire cu diviziune x/=y x = x / y
Atribuirea modulului x %= y x = x % y
Atribuirea schimbului din stânga x>y
Atribuire nesemnată a turei la dreapta x >>>= y x = x >>> y
Atribuire cu AND pe biți x &= y x = x și y
Atribuire cu XOR pe biți x^=y x = x^y
Atribuire cu SAU pe biți x |= y x = x | y
Destructurarea

Pentru sarcini mai complexe, JavaScript are sintaxă de destructurare, o expresie care vă permite să preluați date din matrice sau obiecte folosind sintaxa care oglindește constructorii de matrice și literalele obiectelor.

Var foo = [„unu”, „doi”, „trei”]; // fără a destructura var one = foo; var two = foo; var trei = foo; // cu destructurare var = foo;

Operatori de comparație

Puteți folosi operatorul de ștergere pentru a șterge variabilele care sunt declarate implicit, dar nu îl puteți utiliza pentru a șterge variabilele care sunt declarate cu var .

După aplicarea operatorului de ștergere, proprietatea elementului se schimbă în undefined . Operatorul de ștergere returnează true dacă operația este posibilă; operatorul returnează false dacă operația nu poate fi efectuată.

X = 42; var y = 43; myobj = new Number(); myobj.h = 4; // creează proprietatea h șterge x; // returnează true (puteți șterge o variabilă declarată implicit) delete y; // returnează false (nu puteți șterge o variabilă declarată folosind var) delete Math.PI; // returnează false (proprietățile încorporate nu pot fi șterse) delete myobj.h; // returnează true (puteți șterge proprietăți personalizate) delete myobj; // returnează adevărat (puteți șterge un obiect declarat implicit)

Eliminarea elementelor de matrice

Eliminarea unui element de matrice nu afectează lungimea matricei. De exemplu, dacă eliminați a , elementul a va rămâne a și a va deveni nedefinit.

Când un element de matrice este șters folosind operatorul de ștergere, valoarea acelui element este eliminată din matrice. În exemplul următor, elementul arbori este șters folosind operatorul de ștergere. Cu toate acestea, elementul arbori rămâne adresabil și returnează nedefinit.

Var copaci = new Array ("redwood", "dafin", "cedru", "stejar", "arțar"); ștergeți copaci; dacă (3 în copaci) ( // condiția nu este îndeplinită)

Dacă doriți ca un element să rămână în matrice, dar să aibă o valoare nedefinită, atunci utilizați cuvântul cheie nedefinit în loc de operatorul de ștergere. Următorul exemplu setează elementul trees la undefined , dar elementul rămâne în matrice:

Var copaci = new Array ("redwood", "dafin", "cedru", "stejar", "arțar"); arbori = nedefinit; if (3 în arbori) ( // acest bloc de cod este executat)

tip de operator

Utilizați operatorul instanceof când trebuie să confirmați tipul unui obiect în timpul execuției programului. De exemplu, atunci când prindeți excepții, puteți crea diferite tranziții de programare pentru a gestiona excepțiile, în funcție de tipul de excepție gestionată.

De exemplu, următorul cod utilizează operatorul instanceof pentru a testa dacă obiectul Day este un obiect Date. Deoarece theDay este într-adevăr un obiect Date, programul execută codul conținut în instrucțiunea if.

Var theDay = data noua(1995, 12, 17); if (instanța de Zi a Datei) ( // codul de executat )

Prioritatea operatorului

Prioritate operatori determină ordinea în care sunt executați atunci când se evaluează o expresie. Puteți influența precedența operatorilor folosind paranteze.

Tabelul de mai jos descrie prioritatea operatorului de la cea mai mare la cea mai mică.

Tabelul 3.7 Prioritatea operatorului Tip operator Operatori
proprietatea obiectului .
apel, instanția un obiect () nou
negație, creștere ! ~ - + ++ -- tip de ștergere nulă
înmulțire, împărțire * / %
adunare, scădere + -
deplasare de biți > >>>
comparație, apariție < >= în caz de
egalitate == != === !==
bit-și &
bit-exclusiv-sau ^
bit-sau |
boolean-şi &&
boolean-sau ||
operator condițional (ternar). ?:
misiunea = += -= *= /= %= = >>>= &= ^= |=
virgulă ,

O versiune mai detaliată a acestui tabel, care conține link-uri și informații suplimentare pentru fiecare operator, poate fi găsită în referința JavaScript.

Expresii

Expresie este orice bloc valid de cod care returnează o valoare.

Din punct de vedere conceptual, există două tipuri de expresii: cele care atribuie o valoare unei variabile și cele care evaluează o valoare fără a o atribui.

Expresia x = 7 este un exemplu al primului tip de expresie. Această expresie folosește operator= pentru a atribui variabilei x valoarea 7 . Expresia în sine este, de asemenea, egală cu 7.

Codul 3 + 4 este un exemplu al celui de-al doilea tip de expresie. Această expresie folosește operator„+” pentru a adăuga numerele 3 și 4 fără a atribui rezultatul rezultat 7 unei variabile.

Toate expresiile din JavaScript sunt împărțite în următoarele categorii:

Expresii de bază

Cuvinte cheie de bază și expresii de bază în JavaScript.

Acest operator

Utilizați cuvântul cheie this pentru a indica obiectul curent. În general, acest lucru indică obiectul apelabil care deține metoda. Folosește asta astfel:

This["propertyName"] this.propertyName

Să presupunem că funcția de validare verifică proprietatea valoare a unui obiect; obiectul este specificat, precum și limitele superioare și inferioare pentru valoarea acestei proprietăți:

Funcția validate(obj, lowval, hival)( if ((obj.value< lowval) || (obj.value >hival)) alert("Valoare nevalidă!"); )

Puteți apela funcția de validare din handlerul de evenimente onChange pentru fiecare element de formular, folosind aceasta pentru a indica elementul de formular, așa cum se arată în exemplul următor:

Introduceți un număr de la 18 la 99:

Operator de grupare

Operatorul de grupare a parantezei () controlează prioritatea de evaluare a expresiilor. De exemplu, puteți redefini ordinea - „înmulțiți și împărțiți înainte de adunați și scădeți”, astfel încât, de exemplu, adunarea să se facă înainte de înmulțire:

Var a = 1; var b = 2; var c = 3; // ordinea obișnuită a + b * c // 7 // făcut ca de obicei, deci a + (b * c) // 7 // acum schimbați ordinea // adunarea înainte de înmulțire (a + b) * c // 9 // care este echivalent cu următoarele a * c + b * c // 9

Sintaxă simplificată pentru crearea de tablouri și generatoare

Sintaxa simplificată este o caracteristică JavaScript experimentală care poate fi adăugată la versiunile viitoare de ECMAScript. Există 2 versiuni ale sintaxei:

Sintaxă simplificată pentru matrice. (pentru (x din y) y) Sintaxă simplificată pentru generatoare.

Sintaxele simplificate există în multe limbaje de programare și vă permit să asamblați rapid o nouă matrice bazată pe una existentă. De exemplu:

) i*i ]; // [ 1, 4, 9 ] var abc = [ "A", "B", "C" ]; ; // [ "a", "b", "c" ]

Expresii de mâna stângă

Valorile din stânga sunt atribuite valorilor din dreapta.

nou

Puteți folosi operatorul nou pentru a instanția un obiect de tip personalizat sau unul dintre obiectele încorporate. Utilizați noul operator astfel:

Var objectName = new objectType();

super

Cuvântul cheie este folosit pentru a apela funcții pe obiectul părinte. Acest lucru este util și cu clasele pentru a apela constructorul părintelui, de exemplu.

Super(); // apelează constructorul părintelui. super.functionOnParent();

Operator de extensie

Operatorul de expansiune permite unei expresii să se extindă în locuri cu argumente multiple (pentru apeluri de funcții) sau elemente multiple (pentru matrice).

Exemplu: Astăzi, dacă aveți o matrice și doriți să creați una nouă cu o parte existentă a primei, atunci sintaxa matricei literale nu mai este suficientă și trebuie să scrieți cod imperativ (fără variante) folosind o combinație de push, splice, concat etc. Dar cu acest operator codul devine mai scurt:

Var părți = [„umăr”, „genunchi”]; var versuri = ["cap", ...părți, "și", "degetele de la picioare"];

Operatorul lucrează în mod similar cu apelurile de funcții:

Funcția f(x, y, z) ( ) var args = ; f(...args);

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Ă

    Cum se grupează mai multe opțiuni?

    Pentru a executa aceleași instrucțiuni, este posibil să grupați mai multe Se verifică valoarea unei variabile sau expresii: în fiecare. 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 engleză a culorii introduse. Pentru culoareŞi "albastru""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ă; // ... Inițializați variabila Dacă variabila Inițializați variabila are valoarea „roșu”, apoi afișați traducerea în fereastra modală - „roșu” și ieșiți din structură (break;). Dacă variabila

    • are valoarea „verde”, apoi afișați traducerea în fereastra modală - „verde” și ieșiți din structură (break;). Exemplul 4: Solicitați utilizatorului să introducă o culoare. Ieșiți traducerea în engleză a culorii introduse. Pentru culoareŞi "albastru" Pentru flori
    • faceți gruparea:

      comutator (culoare) (caz "roșu": alertă ("roșu"); pauză; caz "verde": alertă ("verde"); pauză; // ... Inițializați variabila// ... caz "albastru": caz "albastru": alert("albastru"); Inițializați variabila pauză; // ...

    • 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

    14 15 16 17 Testați scriptul într-un browser.

    Sarcina Js 3_6.


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

    1 2 3 4 5 6 7 8 9 10 11 12 13 var number = prompt("Introduceți numărul 1 sau 2:" );

    var valoare = "2";


    comutator (valoare) ( ​​cazul „1”: cazul „2”: cazul „3”: document.write(„Bună ziua”); break; case „4”: cazul „5”: document.write(„Lumea” ); implicit: document.write("Eroare" )

  • Sarcina Js 3_8. Cereți utilizatorului un număr - numărul de corbi de pe ramură. În funcție de numărul introdus (nu mai mult de 10), afișați mesajul: - 1 corb stă pe o creangă - 4 corbi stau pe o creangă - 10 corbi stau pe o creangă.
  • În funcție de numărul introdus, sfârșitul cuvântului se schimbă
  • "cioară"

  • dacă (a * b

  • 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).?
  • În ce caz este recomandabil să folosiți construcția ca operator condiționat Salvați această pagină în dosarul dvs. de rezultate (va fi utilă pentru lucrările viitoare).?
  • comutator Salvați această pagină în dosarul dvs. de rezultate (va fi utilă pentru lucrările viitoare).?
  • Care este scopul blocului implicit din instrucțiune? Salvați această pagină în dosarul dvs. de rezultate (va fi utilă pentru lucrările viitoare).?
  • Este necesar să folosiți instrucțiunea break într-o construcție?

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

    Cum să grupați pentru mai multe opțiuni de valoare într-o declarație

    Operatori ciclici JavaScript - Pentru

    • for(valoarea inițială a contorului; condiția; creșterea contorului) ( //..bloc de instrucțiuni.. )
    • Important: bucla din javascript for este folosită atunci când se știe dinainte de câte ori ar trebui repetate acțiunile ciclice (de câte iterații are bucla)

    • O expresie de atribuire este folosită ca valoare inițială a contorului de iterații: de exemplu, i=0 - contorul buclei începe de la zero:
    • for(var i = 0; condiție; increment contor) ( //..bloc de instrucțiuni.. )

    • Creșterea contorului specifică pasul cu care ar trebui să crească contorul: de exemplu, indică faptul că fiecare iterație a buclei va fi însoțită de creșterea acesteia cu 1:
    • for(var i = 0; condiție; i++) ( //..bloc de instrucțiuni.. )