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 :

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:

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:

Observati ca nu este saptiu intre 'zi' si 'frumoasa'. Pentru a adauga spatiu intre siruri, sunt doua modalitati:

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: 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 :

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 :

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:

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
Notiuni de baza <<-- Anterior --- Urmator -->> Instructiuni conditionale

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag se foloseste pentru a adauga liste in elemente <ul> si <ol>?
<dt> <dd> <li>
<ul>
 <li>http://coursesweb.net/html/</li>
 <li>http://www.marplo.net/html/</li>
</ul>
Care valoare a proprietatii "display" seteaza elementul ca tip bloc si afiseaza un punct in fata?
block list-item inline-block
.some_class {
  display: list-item;
}
Care instructiune JavaScript transforma un obiect in sir JSON.
JSON.parse() JSON.stringify eval()
var obj = {
 "courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr);    // {"courses":["php","javascript","ajax"]}
Indicati clasa PHP folosita pentru a lucra cu elemente HTML si XML in PHP.
stdClass PDO DOMDocument
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue;    // CoursesWeb.net
Indicati forma de Prezent Continuu a verbului "to live" (a trai /a locui)
lived living liveing
I`m living here.
- Traiesc /Locuiesc aici.
Care este forma de Gerunziu (sau Participiu Prezent) a verbului "vivir" (a trai /a locui)?
viviĆ³ vivido viviendo
Estoy viviendo aquĆ­.
- Traiesc /Locuiesc aici.
Operatori - Tutoriale JavaScript