II. JavaScript date şi operatori Tipuri de date Date numerice Booleene String Null Numere întregi Virgulă mobilă -2 53... 2 53 ±1.7976931348e 308... ±5e -324 True, false Orice text Lipsa unei valori Secvenţe Escape \b backspace \n linie nouă \r return de car \t Tab orizontal \ \ \\ \f apostrof ghilimele backslash form feed 1
II. JavaScript date şi operatori Exemplu de utilizare: să se afişeze şirul: citez: JavaScript este un limbaj de scripting Greşit Greşit <script language= javascript > document.write( citez: Javascript este un limbaj de scripting ); </script> Corect Corect <script language= javascript > document.write( citez: \ Javascript este un limbaj de scripting\ ); </script> Testaţi următorul exemplu. Nu uitaţi să introduceţi scriptul între etichetele <pre> </pre>. Justificaţi rezultatul! Exemplu <script language="javascript"> document.write("primul rand"+"\n"); document.write("al doilea rand"); </script> 2
II. JavaScript date şi operatori Temă Temă Scrieţi un script care să afişeze următorul text: Fisierul javascript se afla in directorul web\scripturi Tablouri Sunt seturi de variabile identificate printr-un singur nume. Sunt obiecte şi se declară ca atare cu cuvântul rezervat new Exemplu var zilele_saptamanii=new Array(7) Iniţializarea se face cu ajutorul indicilor elementelor tabloului Exemplu zilele_saptamanii[0]= luni ; zilele_saptamanii[1]= marti ; zilele_saptamanii[2]= miercuri ;.. zilele_saptamanii[6]= duminica ; Notă Notă Primul element al tabloului are indexul 0, nu 1. 3
II. JavaScript date şi operatori JavaScript utilizează operatori aritmetici, de atribuire, de comparaţie, logici şi condiţionali Operatori aritmetici: y=5 Operator Descriere Exemplu + Adunare x=y+2 - Scădere x=y-2 * Înmulţire x=y*2 / Împărţire x=y/2 % Modulo (restul împărţirii) x=y%2 ++ Incrementare x=++y -- Decrementare x=--y Rezultat x=7 x=3 x=10 x=2.5 x=1 x=6 x=4 Operatorul + poate fi folosit şi pentru a concatena şiruri sau a aduna şiruri cu numere: sir1= iti doresc ; sir2= o zi buna ; sir3=sir1+sir2; sir3= iti doresc o zi buna <script language= javascript > sir1= cai pasc iarba ; document.writeln(2 +sir1);</script> 4
II. JavaScript date şi operatori Operatori de atribuire: x=10; y=5 Operator Exemplu Echivalent cu Rezultat = x=y x=5 += x+=y x=x+y x=15 -= x-=y x=x-y x=5 *= x*=y x=x*y x=50 /= x/=y x=x/y x=2 %= x%=y x=x%y x=0 Calculaţi restul împărţirii lui 13 la 5. <script language="javascript"> a=13; b=5; document.writeln(a%b); </script> 5
operator == ===!= > < >= <= II. JavaScript date şi operatori Operatori de comparaţie: x=5 descriere este egal cu identic cu (valoare si tip) diferit de mai mare decât mai mic decât mai mare sau egal cu mai mic sau egal cu exemplu x==8 este fals x==5 este adevarat x==="5" este fals x!=8 este adevărat x>8 este fals x<8 este adevărat x>=8 este fals x<=8 is true Operatori logici: x=5, y=10 operator &&! descriere şi sau negaţie exemplu (x < 10 && y > 1) este adevărat (x==5 y==5) este fals!(x==y) este adevărat 6
II. JavaScript date şi operatori II. JavaScript date şi operatori x=5, y=10 operator &&! descriere şi sau negaţie exemplu (x < 10 && y > 1) este adevărat (x==5 y==5) este fals!(x==y) este adevărat Precedenţa operatorilor parantezele ( (),[] ) cea mai mare precedenţă negaţia/incrementarea (!, ++,--) înmulţirea/împărţirea/modulo (*, /, %) adunarea/scăderera ( +, - ) comparaţia ( <, <=, >, >= ) egalitatea ( ==,!= ) ŞI logic ( && ) SAU logic ( ) Operatorii de atribuire cea mai scăzută precedenţă 7
Declaraţia if else sintaxa sintaxa if (expresie condiţie){ instrucţiuni; else { instrucţiuni; exemplu var zi= luni if (zi== luni){ document.writeln( ziua este luni ); else { document.writeln( ziua nu este luni ); Schimbaţi valoarea variabilei zi din luni în marti. Verificaţi rezultatul! Schimbaţi valoarea variabilei zi din luni în marti. Verificaţi rezultatul! 8
Declaraţia switch sintaxa sintaxa switch (expresie){ case etichetă: instrucţiuni; break; case etichetă: instrucţiuni; break;... default: instrucţiuni; Este preferată construcţiilor if in if (if imbricat), fiind mai uşor de urmărit Este preferată construcţiilor if in if (if imbricat), fiind mai uşor de urmărit 9
Exemplu utilizare SWITCH <script language= "javascript"> var zi= "luni"; switch (zi){ case ("luni"): document.writeln ("ziua este luni"); break; case ("marti"): document.writeln ("ziua este marti"); break; default: document.writeln("ziua nu este nici luni nici marti"); </script> Schimbaţi valoarea variabilei zi din luni in miercuri. Verificaţi şi interpretaţi rezultatul! 10
Exemplu utilizare SWITCH <script language= "javascript"> var zi= "luni"; switch (zi){ case ("luni"): document.writeln ("ziua este luni"); break; case ("marti"): document.writeln ("ziua este marti"); break; default: document.writeln("ziua nu este nici luni nici marti"); </script> Schimbaţi valoarea variabilei zi din luni în miercuri. Verificaţi şi interpretaţi rezultatul! Temă Temă Construiţi un exemplu de utilizare pentru valori numerice. 11
Declaraţia for sintaxa sintaxa for (expresie iniţializare; condiţie; declaraţie actualizare){ instrucţiuni; Este utilizată când se cunoaşte numărul de iteraţii Exemplu Să se calculeze şi afişeze pătratele primelor 10 numere naturale <script language="javascript"> for (var i=1;i<=10; i++){ document.write(i+"\t"+i*i+"\n"); </script> Notă Notă Observaţi declararea variabilei i in interiorul declaraţiei for; Observaţi utilizarea secvenţelor escape la tipărire 12
Declaraţia for Temă Temă Se dau următoarele 4 numere: 6,3,11 şi 7. Să se calculeze şi afişe pătratul fiecăruia din cele 4 numere Temă Temă Se da tabloul A cu următoarele elemente: A[0][0]=3, A[0][1]=4, A[0][2]=1 A[1][0]=5, A[1][1]=3, A[1][2]=0 A[2][0]=1, A[2][1]=6, A[2][2]=9 A[3][0]=5, A[3][1]=0, A[3][2]=2 Să se citească şi să se afişeze elementele tabloului 13
Declaraţia while sintaxa sintaxa while (expresie condiţională){ instrucţiuni; Este utilizată când se NU cunoaşte numărul de iteraţii Exemplu Să se calculeze şi afişeze numerele naturale a căror pătrat este mai mic decât 96. <script language="javascript"> var i=1; var patrat=0; while (patrat<96){ patrat=i*i; document.writeln(i+"\t i^2= "+patrat); i++; </script> Notă Notă Analizaţi rezultatul. De ce este afişat şi numărul i=10 al cărui pătrat 100 este mai mare ca 96?. Corectaţi eroarea! 14
Structura while testează mai întâi condiţia şi dacă este îndeplinită execută instrucţiunile. Declaraţia do...while Structura do...while execută mai întâi setul de instrucţiuni apoi testează condiţia şi dacă este îndeplinită reia execuţia instrucţiunilor. sintaxa sintaxa do { instrucţiuni; while (expresie condiţională) Notă Notă Atât în declaraţia while cât şi do...while expresia condiţională trebuie să se modifice în cadrul instrucţiunilor din buclă, altfel programul rămâne în buclă infinită (nu mai este îndeplinită condiţia de părăsire a buclei) Temă Temă Refaceţi exemplul anterior folosind, de data aceasta, do...while 15
Structuri pentru obiecte - sunt specifice programării orientate obiect (OOP) declaraţia for...in declaraţia with Vor fi discutate în capitolul III. Despre Despre break breakşi şi continue Instrucţiunea break este folosită pentru a întrerupe execuţia unei bucle for, while, do...while sau a instrucţiunii switch, continuând cu instrucţiunile care urmează după buclă sau după break în instrucţiunea switch. Instrucţiunea continue opreşte execuţia instrucţiunilor dintr-o buclă şi reporneşte bucla cu o nouă iteraţie. 16
Problemă Se consideră 7 valori numerice reprezentând încasările zilnice ale unui mic magazin. Să se afişeze zilele în care valorile încasărilor sunt mai mari de 50 Euro şi valoarea încasărilor, precum şi totalul încasărilor pe zilele respective Rezolvare <script language="javascript"> var inc= new Array(7); inc[0]=100; inc[1]=10; inc[2]=60; inc[3]=40; inc[4]=80; inc[5]=105; inc[6]=90; var i; var total=0; for (i=1; i<7; i++){ if (inc[i]<50) continue; document.writeln("incasari in ziua "+i+"\t"+inc[i]); total=total+inc[i]; document.writeln("total incasari peste 50 Euro: "+total); </script> 17