Sunteți pe pagina 1din 12

Programare Web - Curs 2

1. Concepte de bază ale limbajului

1.1. Reguli de sintaxă ale limbajului Java Script

1. Case-sensitive – se face diferența între literele mari și literele mici


2. Toate declarațiile se termină cu ”;”
3. Java Script ignoră spațiile libere, tab-urile și liniile libere ce apar în instrucțiuni,
recunoscând doar spațiile ce apar în șirurile de caractere
4. Ghilimelele simple ‘’ și duble ”” se folosesc pentru a delimita șirurile de caractere
5. Caractere speciale: \b, \f, \n, \r, \t, \\, \’, \’’
6. Comentarii: // sau /* …*/
7. Numele de variabile și funcții trebuie să respecte: primul caracter nu trebuie să fie un
număr, numele nu conțin spații libere, primul caracter trebuie să fie o literă , un caracter
de subliniere sau semnul $. De asemeni, nu se vor folosi cuvinte rezervate, de exemplu
”status”, ”alert”, ”array”.

1.2. Caracteristici importante:

1. Java Script poate fi inclus în HTML, este dependent de mediu, este un limbaj în totalitate
interpretat (codul scriptului va fi interpretat de browser înainte de a fi executat).
2. Java Script este flexibil, diferă de C++ sau de Java. De exemplu, în Java Script putem lucra
cu o variabilă de un anumit tip sau putem lucra cu o variabilă deși nu-i cunoaștem tipul
specificat.
3. Java Script este bazat pe obiecte, nu este orientat obiect ca Java, modelul de obiect Java
Script este bazat pe instanță și nu pe moștenire.
4. Java Script este condus de evenimente generate de utilizator sau de sistem, este un limbaj
multifuncțional, ce evoluează și acoperă diferite contexte.
5. Java Script este nativ pentru Macromedia Dreamweaver
Programare Web - Curs 2

1.3. Variabile

Într-un script se folosesc variabile = date constante sau/ și variabile care își schimbă valorile în
timpul execuției. Variabila reprezintă numele unei locații din memoria calculatorului folosită
pentru a memora date. Numele variabilei permite accesul la valoarea ei precum și schimbarea
valorii.

O variabilă se poate crea și i se poate atribui o valoare, folosind declarația:

var nume=valoare;

sau fără declarația var:

nume=valoare;

unde nume este numele variabilei iar valoare este valoarea atribuită.

Consola poate afișa undefined ca și răspuns. Acest lucru nu înseamnă eroare, ci acest mesaj se
va afișa atunci când nu se întoarce o valoare sau nu există o valoare pentru ceva. De exemplu,
când creăm o nouă variabilă, dacă nu-i sunt setate valorile, folosind operatorul =, atunci valoarea
implicită a acesteia va fi undefined.
O variabilă scrisă în cadrul unei funcții este o variabilă locală, astfel, o altă funcție poate declara
și folosi o variabilă cu același nume, Java Script tratând cele două variabile ca fiind diferite. Se pot
declara și variabile în afara funcțiilor, care să fie folosite de toate funcțiile, acestea numindu-se
variabile globale, fiind valabile de la încărcarea paginii Web până la închiderea acesteia. O
variabilă poate avea valoarea de null , atunci când aceasta are valoarea de ”gol”.

În JavaScript există 3 tipuri de date de bază: numere pentru a reprezenta numerele, șiruri pentru
a reprezenta text și date booleene cu valoarea de adevăr sau fals.
Programare Web - Curs 2

1.4. Operatori

Pentru a lucra cu datele introduse într-un script și a le combina și modifica se folosesc operatori.
Aceștia sunt simboluri și identificatori care determină felul în care sunt modificate datele și
modul în care este evaluată o combinație de variabile și expresii.

Java Script folosește atât operatori unari ce au nevoie de un singur operand cât și operatori binari
ce folosesc doi operanzi. Tipuri de operatori:

1.4.1. Operatorii aritmetici sunt folosiți pentru a efectua operațiile aritmetice de


adunare (+), scădere (-), înmulțire (*), împărțire(/), modulul (%) pentru a afla
restul împărțirii a două numere, incrementare (++) pentru a crește valoarea cu o
unitate, în formă postfix sau prefix, decrementare (--) pentru a scade valoarea cu
o unitate, în formă postfix sau prefix.
1.4.2. Operatorii de atribuire, se folosesc de la dreapta la stânga, adică se evaluează
operandul din dreapta, iar valoarea se atribuie variabilei din stânga semnului = .
De exemplu, a=b, a+=b, a-=b, a*=b, a/=b, a%=b
1.4.3. Operatorii de comparare a două valori, cu răspuns True sau False. Cel mai des
folosit operator de comparare este operatorul de egalitate, reprezentat prin 2
semne ==, ce verifică dacă cele două valori sunt identice, egale ca valoare. Pentru
a verifica dacă cele două valori sunt egale ca valoare și ca tip se folosește ===. De
exemplu, 4==7, 4!=7, 4>7, 4<7, 4>=7, 4<=7
1.4.4. Operatorii logici acționează similar cu operatorii de comparare, pentru că se
compară două expresii, având răspuns True sau False.

Operatorul logic &&, și (AND) compară două expresii, returnând True dacă ambele sunt
adevărate. De exemplu, x=4; y=7; x<6&&y>=6 returnează True.

Operatorul logic || sau (OR) compară două expresii, returnând False dacă ambele sunt

false. De exemplu, x=4; y=7; x>6||y<=6 returnează False.


Programare Web - Curs 2

Operatorul ! not este un operator unar, ce folosește o singură expresie și returnează False
dacă expresia este adevărată și True dacă expresia este falsă.

1.4.5. Operator pentru String

Un string este în general un șir de caractere, definit între ghilimele. Pentru a concatena două
variabile de tip string se folosește operatorul de concatenare pentru șiruri: +.

1.4.6. Operatorul typeof

Acest operator returnează tipul de date conținut la momentul respectiv de operandul său. Este
util atunci când dorim să aflăm dacă o variabilă a fost definită în sistem cu un anumit tip de date.

1.4.7. Operatori pentru funcții

Operatorul de apelare, reprezentat prin (), care urmează întotdeauna după numele funcției.

O funcție va fi declarată astfel:

Operatorul de apelare va fi folosit atunci când funcția este apelată în interiorul scriptului:

Un al doilea operator pentru funcții este virgula care este folosită pentru a separa argumentele
pe care le primește funcția. Acestea vor fi scrise mereu în interiorul parantezelor rotunde și vor
fi separate prin virgulă.
Programare Web - Curs 2

1.4.8. Operatori pentru structuri de date sau obiecte

Operatorul . pentru membrul unei structuri, ne permite să ne referim la un membru(variabilă,


funcție sau obiect) care aparține obiectului specificat. Sintaxa este:

Această modalitate de referire la o informaţie, returnează valoarea variabilei, a funcției sau a


obiectului din dreapta.

Operatorul [ ], numit operator indice al tabloului, se folosește pentru a accesa o anumită dată
dintr-un tablou.

1.4.9. Operatorul condițional ?

JavaScript conține și un operator condițional care atribuie o valoare unei variabile pe baza unei
condiții. Modul de operare al acestuia este : se evaluează condiția și dacă aceasta este adevărată
atunci variabila ia valoarea val1, altfel ia valoarea val2. Sintaxa lui este :

Exemplu:
Programare Web - Curs 2

1.5. Valori nedefinite


Există două valori speciale: null și undefined care sunt folosite pentru a arăta absența unei valori
semnificative. Ele sunt de asemenea valori, dar nu poartă și informație. Multe operații care nu produc o
valoare semnificativă vor întoarce undefined, doar pentru că trebuie să conțină ceva. Diferența dintre
undefined și null în JavaScript nu contează în marea majoritate a timpului.

1.6. Conversii automate


Atunci când este aplicat un operator unei valori având un tip de dată ”greșit”, JavaScript va converti acea
valoare la tipul dorit, utilizând un set de reguli care de obicei nu sunt ceea ce ne așteptăm sau ceea ce ne
dorim. Exemplu:

Null din prima expresie devine 0 și șirul ”5” din a doua expresie devine numărul 5. Totuși în a treia
expresie, + încearcă concatenare de șiruri în loc de adunare, deci numărul 1 este convertit în șirul ”1”. În
a patra expresie, când variabila șir “five” nu se mapează ca un număr într-un mod evident, dar este
convertită la un număr, se va produce valoarea NaN. Următoarele operații aritmetice pe NaN vor întoarce
NaN. Când comparăm valori de același tip folosind ==, ceea ce obținem este TRUE dacă ambele valori
sunt egale, cu excepția cazului NaN. Dar, când tipurile diferă, JavaScript folosește un set de reguli
complicate și destul de confuze, pentru a încerca să convertească una din valori la celălalt tip de date a
celeilalte valori. Atunci, când avem null sau undefined ca și operand, se va întoarce TRUE doar dacă
în ambele părți avem null și undefined.
Programare Web - Curs 2

Exemplu:

Aceste rezultate sunt folositoare atunci când dorim să testăm dacă o valoare are valoare reală în loc de
null sau undefined (pur și simplu se compară acea valoare cu null, folosind operatorul == sau != ).

Regulile care convertesc șirurile și numerele la valori Booleene afirmă că 0, NaN și un șir gol se socotesc
FALSE, în timp ce toate celelalte valori se socotesc TRUE. Astfel, expresii precum 0 == FALSE și “” ==
FALSE vor întoarce TRUE. Astfel, atunci când nu dorim aceste conversii automate, folosim operatorul
=== sau operatorul !==. Primul testează dacă o valoare este precis egală cu cealaltă (inclusiv tipul de dată).
Adică, “” === FALSE va întoarce FALSE, așa cum era de așteptat.

2.Elemente pentru structura unui program


Un fragment de cod care produce o valoare se numește o expresie. Fiecare valoare care este scrisă literal
(precum 22 sau “negru”) este o expresie. O expresie între paranteze este de asemenea o expresie, precum
un operator binar aplicat la două expresii sau un operator unar aplicat uneia. Expresiile pot fi imbricate,
astfel un program JavaScript este o listă de instrucțiuni. Cea mai simplă formă de instrucțiune este dată
de o expresie urmată de un punct și virgulă după ea. Cuvintele cu un înțeles special, precum var se
numesc cuvinte cheie (rezervate) și nu pot fi folosite ca și nume de variabile. Colecția de variabile și
valorile acestora care există la un anumit moment de timp se numește mediu. Acesta conține variabile,
ca și părți ale limbajului standard, dar și variabile care oferă modalități de interacțiune cu sistemul. De
exemplu, într-un browser, variabila alert conține o funcție care arată o mică fereastră de dialog cu un
mesaj. Este folosită astfel:
Programare Web - Curs 2

În exemplul de mai sus, funcția alert folosește șirul dat ca și text de afișat în fereastra de dialog.

Funcția confirm întreabă utilizatorul. Această funcție va întoarce TRUE dacă utilizatorul apasă pe OK și
FALSE dacă acesta apasă pe Cancel.

Funcția prompt poate fi folosită pentru a cere utilizatorului un text.

Aceste două funcții nu sunt des folosite în programarea web modernă, în majoritatea cazurilor pentru că
nu există control asupra aspectului ferestrei de dialog, dar sunt utile la experimente.

Valorile date funcțiilor se numesc argumente. Executarea unei funcții se numește invocare, apelare sau
aplicarea ei. Atunci când o funcție produce o valoare, se spune că întoarce acea valoare. O altă modalitate
de afișare a valorilor este dată de folosirea funcției console.log. Atunci când programul conține mai
mult de o instrucțiune, acestea sunt executate de sus în jos.
Programare Web - Curs 2

3.Structuri de control
a) Cu ajutorul instrucțiunilor condiționale: if (execută comenzile dorite când o condiție este
adevărată) și if … else (execută anumite comenzi când o condiție este adevărată și alte
comenzi când aceasta este falsă), switch (selectează care comandă va fi executată) putem face
ca programele individuale să ruleze diferite condiții după care se decide modul de execuție.
if (conditie) {
cod executat daca conditie = TRUE
}

Conditie poate fi orice expresie logică. Dacă rezultatul condiției este TRUE atunci se execută codul
dintre acolade, în caz contrar, când conditie returnează FALSE se trece peste acest cod.

Folosind instrucțiunea if … else putem stabili comenzi ce vor fi executate atunci când conditie din
instrucțiunea if este FALSE. Conditie poate fi orice expresie logică. Dacă rezultatul lui conditie
este TRUE se execută codul dintre primele acolade, care aparține de if, în caz contrar, când conditie
returnează FALSE sunt executate comenzile din a doua grupă de acolade, care aparține de else.
if (conditie) {
cod executat daca conditie = TRUE
} else {
cod executat daca conditie = FALSE
}

Instrucțiunea switch este folosită pentru a compara o valoare cu altele dintr-o listă. Prima dată este
evaluată expresie scrisă între paranteze rotunde, apoi valoarea expresiei este comparată pe rând cu
fiecare valoare determinată de case. Dacă se găsește o identitate se execută codul asociat acelui case,
apoi se iese din instrucțiunea switch. Dacă, parcurgând fiecare case nu se găsește o egalitate, se
execută codul de după default. Prin folosirea lui break, se oprește parcurgerea corpului instrucțiunii
atunci când s-a găsit o valoare egală cu expresie și se iese din switch.

switch (expresie) {
case valoare1:
cod executat daca expresie = valoare1
break
case valoare2:
cod executat daca expresie = valoare2
break
case valoare3:
cod executat daca expresie = valoare3
Programare Web - Curs 2

break
default :
cod executat daca expresie e diferit de valoare1, valoare2 sau
valoare3
}

b) Instrucțiunile repetitive se folosesc atunci când se dorește efectuarea unei comenzi de mai multe
ori. În JavaScript putem folosi următoarele instrucțiuni ciclice: for (se execută codul de un număr
specificat de ori), for … in (execută un set de instrucțiuni pentru fiecare proprietate dintr-un
obiect), while (repetă codul atâta timp cât o anumită condiție este adevărată), do … while
(întâi se execută o dată codul apoi îl repetă atâta timp cât o anumită condiție este adevărată).

În instrucțiunea for:

-variabila numar de inceput este folosit la inițializarea buclei pentru a da o valoare inițială
numărului de repetări, așa numitul contor al ciclului;
-conditie numar verifică dacă numărul de cicluri se încadrează într-o anumită valoare (dacă
bucla va continua) și dacă rezultatul este TRUE se execută codul dintre acolade;
-ciclu incrementează sau decrementează valoarea la care a ajuns contorul ciclului, apoi această
valoare este verificată din nou de conditie numar până când rezultatul este FALSE.

for (numar de inceput ; conditie numar ; ciclu) {


cod care va fi executat
}

Cele trei expresii dintre parantezele rotunde sunt opționale, dar dacă este omisă una dintre ele, caracterul
; trebuie să rămână. Instrucțiunea for permite imbricarea, între acolade pot fi introduse și alte
instrucțiuni for, sau alte instrucțiuni condiționale.

Cu instrucțiunea for … in se execută câte un set de instrucțiuni pentru fiecare proprietate dintr-un
obiect. Ciclul se poate executa cu orice obiect JavaScript, chiar dacă nu are proprietăți. Pentru fiecare
proprietate se execută câte o iterație, dacă obiectul nu are nici o proprietate nu se desfășoară nici un ciclu.

În instrucțiunea for … in:

-nume proprietate este un literal de tip șir generat de JavaScript. Pentru fiecare repetare a
execuției instrucțiunii, lui nume proprietate i se atribuie următorul nume de proprietate
conținut în obiect, până când sunt folosite toate.

for (nume proprietate in obiect) {


codul care va fi executat
}

Instrucțiunea while repetă un cod atâta timp cât o anumită condiție este adevărată. Este similară cu
for, dar nu include funcțiile de inițializare și incrementare a variabilelor. Forma generală a acesteia este:
Programare Web - Curs 2

while (conditie) {
codul care va fi executat
}

Instrucțiunea do … while este asemănătoare cu instrucțiunea while, diferența dintre ele este că la
do … while mai întâi se execută codul din corpul instrucțiunii, după care se verifică condiția, apoi acest
cod este repetat până când condiția returnează FALSE. Astfel, corpul instrucțiunii este executat cel puțin
o dată, chiar dacă condiția nu este adevărată.

c) Instrucțiunile complementare break (întrerupe definitiv execuția unui ciclu), continue (sare
peste instrucțiunile care au mai rămas din ciclul respectiv), with (se folosește pentru a fi evitată
specificarea repetată la referirea unui obiect, atunci când îi accesăm metodele sau proprietățile)

Atunci când este folosită o instrucțiune ciclică, aceasta se va repeta până când o anumită condiție devine
FALSE. Acest lucru poate fi schimbat cu ajutorul instrucțiunilor break și continue, care dau
posibilitatea întreruperii ciclului sau ieșirii din acesta înainte de a ajunge la ultima acoladă. Continue
întrerupe execuția repetării curente, înainte de a fi executate celelalte operații din ciclu, apoi se verifică
din nou condiția și se trece la următoarea iterație a ciclului.

Exemplul 1:

Exemplul 2:

Exemplul 3:

Instrucțiunea with poate fi folosită pentru a evita referirea în mod repetat la un obiect, atunci când îi
accesăm metodele sau proprietățile. Sintaxa acesteia este:
with (obiect) {
instructiuni
Programare Web - Curs 2

Între parantezele rotunde, obiect face referire la obiectul căruia i se aplică instrucțiunile dintre acolade.

S-ar putea să vă placă și