online: 17; azi: 901; total: 51356 Webdesign - Javascript - 06

Instructiuni ciclice (repetitive)


Instructiunile repetitive se folosesc atunci cand se doreste efectuarea unei comenzi de mai multe ori.
In java script putem folosi urmatoarele instructiuni ciclice:

  • for - la fel ca si in alte limbaje de programare, executa codul de un numar specificat de ori
    for ... in - executa cate un set de instructiuni pentru fiecare proprietate dintr-un obiect
    while - repeta codul atata timp cat o anumita conditie este adevarata
    do ... while - intai executa o data codul apoi il repeta atata timp cat o anumita conditie este adevarata

1. Instructiunea for

Aceasta are urmatoarea forma generala:

  • for (incepere_nr; conditie_nr; ciclu) {
        cod care va fi executat
    }
- Unde "incepe_nr" e folosit la 'initializare' pentru a da o valoarea initiala numarului de repetari, de multe ori prin aceasta se declara o variabila care poate fi folosita ca un contor al ciclului.
"conditie_nr" verifica daca numarul de cicluri se incadreaza intr-o anumita valoare si daca rezultatul este TRUE se executa inca o data codul dintre acolade.
"ciclu incrementeaza sau decrementeaza valoarea la care a ajuns contoarul ciclului, apoi aceasta valoare este verificata din nou de "conditie_nr" pana cand rezultatul este FALSE.
Aceste trei expresii dintre parantezele rotunde sunt optionale, dar daca este omisa una din ele, caracterul punct si virgula ";" trebuie sa ramana pentru ca fiecare expresie sa ramana la locul ei.
In interiorul instructiunii for (ca si la instructiunea "if"), intre acolade, pot fi introduse si alte instructiuni "for", sau alte instructiuni conditionale, acest lucru se numeste imbricarea instructiunilor.
Iata un exemplu simplu de utilizare a instructiunii "for":
<script type="text/javascript">
<!--
for (x=1; x<5; x++) {
    document.write("<br /> x este "+x);
}
//-->
</script>
- Se atribue lui 'x' valoarea 1, se verifica conditia (x<5) care este adevarata si se executa corpul instructiunii (dintre acolade, care afiseaza "x este 1) apoi se incrementeaza valoarea lui 'x' cu o unitate (x++), acum 'x are valoarea 2. Se verifica din nou conditia (x<5) si fiindca este adevarata, se executa iar corpul instructiunii apoi se incrementeaza valoarea lui 'x', ..., si tot asa pana cand 'x' va ajunge sa aibe valoarea 5 care la verificarea conditiei returneaza FALSE, moment in care se termina executia instructiunii "for".
Acest script va afisa urmatorul rezultat:
x este 1
x este 2
x este 3
x este 4

2. Instructiunea for ... in

Pentru utilizarea acestei instructiuni trebuie sa aveti cunostinte despre obiectele JavaScript asa ca va trebui sa reveniti asupra ei dupa ce le veti invata - in lectiile urmatoare .
Cu "for ... in" se executa cate un set de instructiuni pentru fiecare proprietate dintr-un obiect. Acest ciclul se poate executa cu orice obiect JavaScript, indiferent daca are sau nu proprietati. Pentru fiecare proprietate se executa cate o iteratie, daca obiectul nu are nici o proprietate nu se desfasoara nici un ciclu.
Instructiunea "for ... in" are urmatoarea forma generala:

  • for (nume_proprietate in obiect) {
        instructiuni
    }
- Unde "nume_ proprietate" este un literal de tip sir generat de JavaScript. Pentru fiecare repetare a executiei instructiunii, lui "nume_proprietate" i-se atribuie urmatorul nume de proprietate continut in "obiect", pana cand sunt folosite toate.

3. Instructiunea while

Aceasta instructiune repeta un cod atata timp cat conditia este adevarata.
Comanda actioneaza similar cu instructiunea "for", dar nu include functiile de initializare si incrementare a variabilelor.
Instructiunea "while" are urmatoarea forma generala:

  • while (conditie) {
        codul care va fi executat
    }
Iata exemplu anterior, de la instructiunea "for", aici este scris in varianta instructiunii "while":
<script type="text/javascript">
<!--
var x = 1;
while (x<5) {
    document.write("<br /> x este "+x);
    x++;
}
//-->
</script>
- Prima data am declarat variabila 'x' dandu-i valoarea 1.
Instructiunea "while" verifica conditia (aici x<5) care este adevarata si permite executarea corpului functiei dintre acolade care afiseaza "x este 1" si incrementeaza valoarea lui 'x' cu o unitate. Acum 'x' are valoarea 2, se verifica conditia, care este adevarata si se executa iar codul dintre acolade, ..., si tot asa pana cand la verificarea conditiei rezultatul este FALSE, moment in care se termina rularea instructiunii "while".
Acest script va afisa urmatorul rezultat:
x este 1
x este 2
x este 3
x este 4

4. Instructiunea do ... while

Forma generala a acestei instructiuni este:

  • do {
        codul care va fi executat
        }
    while (conditie)
Asemanatoare in mare parte cu instructiunea "while", instructiunea "do ... while" intai executa codul din corpul instructiunii, dupa care verifica conditia, apoi il repeta pana cant conditia returnbeaza FALSE. Astfel corpul functiei este executat cel putin o data, chiar daca conditia nu este adevarata.
Iata un exemplu din care puteti intelege mai bine aceasta instructiune:
<script type="text/javascript">
<!--
var x = 8;
do {
    document.write("<br /> x este "+x);
    x++;
    }
while (x<5)
//-->
</script>
- Aceasta functie afiseaza "x este 8".
Observati ca desi conditia este falsa (x<5), codul dintre acolade este totusi executat o singura data.