Index

JavaScript

COMENTARII IN FISIERELE.

Pentru a face comentarii care sa nu fie afisate de browser, cu scopul de a explica codul pentru altii sau pentru a lasa marcaje care sa-ti aduca aminte anumite lucruri despre script, avem la dispozitie doua modalitati:

- pentru comentarii pe o singura linie se foloseste marcajul //:

       
// comentariu pe o singura linie (daca treceti pe linia urmatoare va fi interpretat de browser si va afisa o eroare)

- pentru comentarii pe mai multe linii:

       

/*

comentariu 1
comentariu 2
comentarii pe mai multe randuri, tot ce se afla in interiorul acestor marcaje este ignorat

*/


Din pacate, inca sunt folosite browsere care nu suporta JavaScript. Pentru a avertiza utilizatorul acestora ca browserul lor nu suporta JavaScript se folosește tag-ul <noscript>. Acesta nu este luat in seama daca browserul nostru suporta javascript, dar in situatia in care nu suporta sau nu-l are activat putem sa afisam un mesaj de avertizare:

       

<noscript>

Browserul dumneavoastra nu suporta javascript. Pentru a beneficia de toate facilitatile acestui site schimbati browserul sau activati Javascript

</noscript>


ALERTE JAVASCRIPT

Una dintre cele mai importante facilitati ale acestui limbaj este aceea ca ofera posibilitatea de a interactiona cu utilizatorii.

Pentru a crea o alerta care sa afiseze un mesaj la care utilizatori trebuie sa raspunda, codul din fisierul JS este urmatorul (codul din fisierul html il pastram):

       
alert("Mesaj de intampinare - Bine ati venit!"); // pagina se va incarca atunci cand se face click pe OK

Exemplu


In continuare vom prezenta structura conditionala if. Aceasta ofera posibilitatea de a face sa se intample anumite lucruri in functie de anumite circumstante, de exemplu daca sunt sau nu cookie-urile activate.

O conditionala putem sa o facem cu o structura de forma if-then-else. Vom face un script care sa afiseze un mesaj sau o alerta daca cookie-urile sunt activate si altul daca nu sunt activate:

       

if (/* intre aceste paranteze vom introduce conditia. Aceasta trebuie sa intoarca valoarea true sau false.*/)

{
/*Aici trebuie introdus codul care sa fie executat daca conditia din if intoarce valoarea true */

}

else {
/* Codul care este executat daca conditia intoarce valoarea false. Conditionala poate fi folosita si fara partea de else*/

}

Acestea fiind stiute vom face un script care sa afiseze o alerta daca sunt activate sau nu cookie-urile intr-un browser. Iata codul din fisierul JS:

       

if (navigator.cookieEnabled) {

alert ("cookies sunt activate!");

}

else {

alert ("cookies sunt dezactivate");

}

Exemplu

Acum voi scrie un script care sa ofere utilizatorilor posibilitatea sa confirme sau nu, iar in functie de raspuns sa avem actiuni diferite. Pentru asta, vom folosi tot un if si vom schimba doar conditia:

       

if (confirm("Esti sigur ca aceasta e pagina pe care trebuie sa te afli?")) {

alert("ai raspuns ca esti sigur"); }

else {

alert("ai raspuns ca nu esti sigur");

}

Exemplu


Daca dorim ca user-ul sa introduca raspunsul de la tastatura trebuie sa folosim variabile. O variabila se defineste o data si poate fi folosita de mai multe ori. Scriptul urmator preia raspunsul introdus de utilizator si poate sa-l foloseasca pentru a-i da acestuia un raspuns (de exemplu). Pentru ca vizitatorii sa introduca valori se foloseste comanda prompt(), care este din aceeasi categorie cu alert() si confirm(), toate solicitand actiune din partea utilizatorului.

       

var raspuns = prompt("esti sigur ca aici, pe aceasta pagina vrei sa ajungi?","");

/* Intre primele ghilimele se introduce intrebarea iar intre celelalte se introduce un raspuns random. Am lasat liber pentru a nu avea un raspuns predefinit. */

if (raspuns) { // daca exista vreun raspuns

alert("ai raspuns: " + raspuns); //concateneaza cele doua siruri

}

else {

alert("nu esti sigur");

}

Exemplu

Pentru a prelua date numerice, acestea trebuie convertite din format text in format numeric folosind functia parseInt.

var raspuns = prompt("introduceti un numar:","");

/* Intre primele ghilimele se introduce intrebarea iar intre celelalte se introduce un raspuns random. Al doilea set de ghilimele l-am lasat liber pentru a nu avea un raspuns predefinit.

deoarece valoare salvata in variabila raspuns este text, trebuie sa o convertim intr-o valoare numerica. Putem realiza acest lucru cu ajutorul functiei parseInt.

*/

var numeric = parseInt(raspuns);

if (numeric) { // daca exista vreun raspuns

alert("Valoarea introdusa este: " + numeric); //concateneaza cele doua siruri

}

else {

alert("Nu ati introdus nicio valoare.");

}



Confirm face parte din aceeasi categorie cu alert si prompt, adica ferestre popup. Spre deosebire de alert, confirm intoarce valoarea true sau false, putand fi astfel folosit in structuri ifca in exemplul de mai jos:

       

if (confirm("esti de acord?")) {

alert("Esti de acord")

}
else {

alert ("Nu esti de acord")

};

Exemplu


STRUCTURI CICLICE

Bucla For este o unealtă foarte utilizată atunci cand avem de a face cu operatii repetitiveStructura unei bucle for este exemplificata in exemplul de mai jos, unde i este un contor, care porneste de la 0 si este incrementat cu o unitate pana cand ajunge la 5:

       

for (i = 0; i < 5; i++) {
    text += "Numarul este " + i + "<br>";
}

Bucla while este o unealtă foarte utilizată atunci cand avem de a face cu operatii repetitiveStructura unei bucle while este exemplificata in exemplul de mai jos, unde i este un contor, care porneste de la 0 si este incrementat cu o unitate pana cand ajunge la 10:

       

while (i < 10) {
    text += "Numarul este " + i;
    i++;
}

Tratarea erorilor

Pentru a găsi erorile dintr-un script Javascript este recomandat sa se scrie codul javascript intr-un bloc "try-catch" ca în exemplul următor. În blocul (intre acolade) de try se scrie codul javascript, iar in blocul de catch se tratează eroarea - în cazul de față se afișează conținutul acestei erori:

<html>
<head>
<script>

try {

//cod javascript
var raspuns = promp("esti sigur ca aici, pe aceasta pagina vrei sa ajungi",""); //keyword-ul "promp" nu există, corect ar fi fost "prompt", deci această linie va genera o eroare.

}
catch(eroare) {
alert( eroare);
}

</script>
</head>
<body>
</body>
</html>

Exemplu

TEMA: De realizat o pagina web care preia 2 numere de la tastatura (folosind functiile javascript prompt si parseInt) si afiseaza suma lor.