online: 1; azi: 461; total: 50916 Webdesign - Javascript - 04

Operatorii


Cu ajutorul operatorilor manipulam, combinam si modificam datele dintr-un program sau script. Acestia sunt de mai multe feluri, in aceasta lectie sunt prezentati tipurile de operatori folositi in JavaScript.

1. Operatori aritmetici

Putem spune ca operatorii aritmetici sunt principalii operatori folositi cu numere, acestia efectueaza operatiile aritmetice cunoscute: adunare (+), scadere (-), inmultire (*), impartirere (/). Pe langa acesti patru operatori, in programare sunt folositi inca trei operatori aritmetici :

  • Modulul (%) - acesta determina restul impartirii a doua numere
    Exemplu:
    • 8%3 da rezultatul 2
      10%2 da rezultatul 0
  • Incrementare (++) - Acest operator creste valoarea cu o unitate, este des folosit in programare, in lucrul cu variabile.
  • De exemplu, daca avem variabila 'i', putem folosi operatorul de incrementare astfel: i++ care este similar cu i = i+1.
    Exemplu:
    • x = 7;
      x++;
      rezultatul va fi x = 8
  • Decrementare (--) - Acest operator scade valoarea cu o unitate.
  • De exemplu, daca avem variabila 'i', putem folosi operatorul de decrementare astfel: i-- care este similar cu i = i-1.
    Exemplu:
    • x = 7;
      x--;
      rezultatul va fi x = 6
  • Cei doi operatori de incrementare (++) respectiv decrementare (--) pot fi folositi atat ca prefix (in fata variabilei) ++i respectiv --i cat si ca sufix (dupa numele variabilei) i++ respectiv i--. Valoarea obtinuta este aceeasi, insa ordinea operatiei si rezultatul atribuirii valorii sunt diferite.
  • Folosirea operatorului ca prefix determina in primul rand modificarea valorii si apoi are loc atribuirea acesteia.
  • In cazul folosirii operatorului ca sufix, intai este atribuita valoarea variabilei si apoi variabila este incrementata (sau decrementata).

2. Operatori de atribuire

In cazul acestui operator JavaScript actioneaza mereu de la dreapta la stanga ; se evalueaza operandul din dreapta iar valoarea se atribuie variabilei din stanga semnului "=" .
Mai jos puteti vedea un tabel din care puteti intelege modul de lucru si actiune al operatorilor de atribuire

Operator Exemple Este acelasi cu
=      x = y         x = y
+=      x += y         x = x+y
-=      x -= y         x = x-y
*=      x *= y         x = x*y
/=      x /= y         x = x/y
%=      x %= y         x = x%y

3. Operatori de comparare

Expresiile care folosesc acesti operatori pun o intrebare despre doua valori pe care le compara. Raspunsul poate fi TRUE sau FALSE.
Un operator de comparatie des folosit este operatorul de identitate (egalitate), reprezentat prin doua semne egal "==". Este diferit de simplul "=", operatorul '==' compara doua valori determinand daca acestea sunt identice, adica egale atat ca valoare cat si ca tip.
Operatori de comparatie sunt prezentati in tabelul urmator:

Operator Semnificatie Exemple
==      Egal      3 == 8   returneaza FALSE
!=      Diferit      3 != 8   returneaza TRUE
>      Mai mare      3 > 8   returneaza FALSE
<      Mai mic      3 < 8   returneaza TRUE
>=      Mai mare sau egal      3 >= 8   returneaza FALSE
<=      Mai mic sau egal      3 <= 8   returneaza TRUE

4. Operatori logici (booleeni)

Similar cu operatori de comparatie, operatorii logici compara doua expresii si returneaza TRUE sau FALSE.
Acesti operatori sunt:

  • && - si (and) - Compara doua expresii si returneaza TRUE daca amandoua sunt adevarate, in caz contrar returneaza FALSE.
    Exemplu:
    • x = 5
      y = 8
      x<7 && y>3
      (returneaza TRUE)
  • || - sau (or) - Compara doua expresii si returneaza TRUE daca cel putin una din ele este adevarata, in caz contrar returneaza FALSE.
    Exemplu:
    • x = 5
      y = 8
      x>7 || y<3
      (returneaza FALSE)
  • ! - not - este operator unar, foloseste o singura expresie si returneaza TRUE daca expresia este falsa, daca expresia este adevarata returneaza FALSE.
    Exemplu:
    • x = 5
      y = 8
      !(x==y)
      (returneaza TRUE deoarece 'x' nu este egal cu'y')

5. Operator pentru string (sir)

Un string este in general un sir de caractere, intre ghilimele.
Pentru a alatura (concatena) doua variabile string impreuna se foloseste operatorul de concatenare a sirurilor +
Exemplu:

  • t1 = "Astazi este o zi"
    t2 = "frumoasa"
    t3 = t1+t2

    (Variabila 't3' va contine sirul "Astazi este o zifrumoasa")
Observati ca nu este saptiu intre 'zi' si 'frumoasa'. Pentru a adauga spatiu intre siruri, sunt doua modalitati:
  • 1 - Adaugati spatiu intre variabilele string
    Exemplu:
    • t1 = "Astazi este o zi"
      t2 = "frumoasa"
      t3 = t1+" "+t2

      (Variabila 't3' va contine sirul "Astazi este o zi frumoasa")
  • 2 - Adaugati spatiu in una din variabilele string
    Exemplu:
    • t1 = "Astazi este o zi"
      t2 = " frumoasa"
      t3 = t1+t2

      (Variabila 't3' va contine sirul "Astazi este o zi frumoasa")

6. Operatorul typeof

Acest operator returneaza tipul de date continut la momentul respectiv de operandul sau. Este util in special pentru a determina daca o variabila a fost definita cu un anumit tip de date.
Studiind tabelul urmator puteti intelege modul de operare al acestuiai operator :

Operator Descriere
 typeof parseFloat  returneaza sirul 'function'
 typeof 33  returneaza sirul 'number'
 typeof "un anume text"  returneaza sirul 'string'
 typeof true  returneaza sirul 'boolean'
 typeof window  returneaza sirul 'object'

7. Operatori pentru functii

Functiile vor fi explicate in una din lectiile urmatoare, totusi este util sa fiti familiarizati cu doi operatori:

1. Primul se numeste operator de apelare si este reprezentat printr-o pereche de paranteze rotunde () care urmeaza intodeauna dupa numele functiei, astfel o functie va fi declarata astfel:

function nume_functie() {
// Corpul functiei
}
Apoi operatorul de apelare este folosit din nou cand functia este apelata in interiorul scriptului:
  • nume_functie()
Parantezele aratand ca este folosita o functie.

Al doilea operator pentru functii este virgula "," - care se foloseste pentru a separa mai multe argumente pe care le primeste o functie.
Argumentele sunt scrise intodeauna in interiorul parantezelor rotunde si sunt separate prin virgula.
Astfel o functie cu doua argumente ar arata:
function nume_functie(arg1, arg2) {
// Corpul functiei
}

8. Operatori pentru structuri de date (obiecte)

Acesti operatori sunt necesari atunci cand lucram cu structuri de date, sau obiecte
In JavaScript obiectele sunt folosite la gruparea informatiilor pentru a servi unui scop specific.

1. Un operator care ar trebui cunoscut bine este punctul "." , numit operator pentru membrul unei structuri. Acesta ne permite sa ne referim la un membru ( variabila ,functie sau obiect ) care apartine obiectului specificat.
Sintaxa este urmatoarea :

  • numeObiect.nume_Variabila
    numeObiect.nume_Functie()
    numeObiect.alt_Obiect
Aceasta modalitate de referire la o informatie, numita notatie cu punct, returneaza valoarea variabilei, functiei sau obiectului aflat cel mai in dreapta.

2. Operatorul pentru element din matrice, numit si operator indice al tabloului, se foloseste pentru a accesa o data specifica, o cheie, dintr-un tablou de date. Acesta este simbolizat printr-o pereche de paranteze drepte [ ] , si permite sa ne referim la orice membru al unui tablou.
Tablourile sunt obiecte JavaScript si vor fi detaliate in lectiile urmatoare.
Sintaxa de folosire a operatorului pentru tablou este :
  • nume_tablou[cheie]

9. Operatorul conditional "?"

JavaScript contine si un operator conditional ? : care atribuie o valoare unei variabile pe baza unei conditii.
Sintaxa de folosire a acestui operator este urmatoarea:

  • variabila = (conditie)?val1:val2
Modul de operare este urmatorul - se evalueaza conditia, daca este adevarata atunci variabila ia valoarea 'val1', altfel ia valoarea 'val2'.
Iata un exemplu:
<script type="text/javascript">
vizitator = "barbat"
mesaj = (vizitator=="barbat")?"Stimate domn":"Stimata doamna"
document.write(mesaj) </script>
Daca variabila "vizitator" este egala cu 'barbat', variabila "mesaj" primeste valoarea 'Stimate domn", altfel primeste valoarea "Stimata doamna". Iar instructiunea de afisare "document.write()" va afisa valoarea lui "mesaj".

10. Precedenta operatorilor

Cand in expresii se folosesc mai multi operatori, JavaScript tine cont de precedenta (importanta) predefinita a fiecarui operator. Precum in aritmetica, intr-o ecuatie cu adunare si inmultire ( 2+3*4 ), daca nu sunt paranteze, se executa intai inmultirea, aceasta avand precedenta superioara fata de adunare. La fel e si cu operatorii in programare.
Daca apar mai multi operatori cu aceeasi precedenta, JavaScript ii va evalua de la stanga spre dreapta.
In tabelul urmator sunt prezentati operatorii in ordinea precedentei lor, unde operatorii din partea de sus a tabelului au precedenta maxima :

Operator Nume operator
()   []   .      de apelare, pt. structuri de date
!   ++   --      de negare, incrementare
*   /   %      de inmultire, impartire
+   -      de adunare, scadere
<   <=   >   >=      de comparatie
==   !=      de egalitate
&&      SI logic
||      SAU logic
? :      conditionnal
=   +=   -=   *=   /=   %=      de atribuire
,      virgula