JavaScript -- 7 -- Cykly

Cykly a všetko čo k nim patrí :)

29.7.2004 10:00 | Rišo Marko | přečteno 16279×

Cykly

Používajú sa vtedy, keď potrebujeme vykonať niektorý z blokov kódu opakovane. Cykly sú podstatnou časťou každého programovacieho jazyka. V JavaScripte existujú 3 druhy cyklov každý ma vlastný príkaz:

while

while (podmienka) {
   opakovaný zoznam príkazov;
}

Príklad bude lepší..

var a = 1;
while (a<15) {
   document.write('a je mensie ako 15');
   a++;
}
   document.write('a uz nie');

V príklade môžte vidieť výpis jedného textu pokiaľ je spĺňaná podmienka, že a je menšie ako 15. Pri každom opakovaní sa hodnota a zväčší o 1 a keď nadobudne hodnotu 15 cyklus sa prestane vykonávať a pokračuje sa ďalej vo vykonávaní skriptu.

Ak nechceme mať takto nečitateľný príklad stačí pridať do výpisu tag <br>..

var a = 1;
while (a<15) {
   document.write('a je mensie ako 15<br>');
   a++;
}
   document.write('a uz nie');

a výsledok je hneď krajší

Pokiaľ nebude splnená podmienka cyklus neprebehne ani raz:

var a = 20;
while (a<15) {
   document.write('a je mensie ako 15<br>');
   a++;
}
   document.write('a uz nie');



do ... while

do {
   opakovaný zoznam príkazov;
} while (podmienka)

Príklad:

var a = 1;
do {
   document.write('a je mensie ako 15<br>');
   a++;
} while (a<15)
   document.write('a uz nie');

Výsledok:

Myslím, že je všetko jasné..

!!Zmena!!

var a = 20;
do {
   document.write('a je mensie ako 15<br>');
   a++;
} while (a<15)
   document.write('a uz nie');

Výsledok:

Ako môžte vidieť dochádza k nesplneniu podmienky a i napriek tomu cyklus prebehne minimálne raz pretože sa podmienka testuje až na konci.

Ešte snáď bude dobré pripomenúť, že ako podmienka môže slúžiť i textová premenná, ale hlavné využitie cyklov je pri použití čísel.


for

for (počiatočná inicializácia; podmienka; upráva riadiacej premennej) {
   opakovaný zoznam príkazov;
}

Možno trošku škaredo vyzerajúci zápis no nieje to nič zložité: počiatočná inicializácia obsahuje premennú, ktorá je postupne cyklom inkrementová pokiaľ cyklus spĺňa danú podmienku. Úprava riadiacej premennej môže ale nemusí obsahovať akúkoľvek úpravu počiatočnej premennej cyklu.

Opäť príklad:

for (var i=0; i<8; i++) {
var text = 'pekný príklad<br>';
   document.write(text.fontsize(i));
}

Výsledok bude nasledovný:

Kvôli formátovacej funkcii fontsize(), ktorú aplikujeme na premennú text v ktorej máme uložený vypisovaný text dochádza k efektnej zmene velkosti textu počas výpisu. Funkcii fontsize() je ako parameter posielaná cyklom inkrementovaná premenná i.

Takýto cyklus nieje problém otočiť aby dochádzalo k odpočítavaniu premennej i.

for (var i=8; i>0; i--) {
var text = 'pekný príklad<br>';
   document.write(text.fontsize(i));
}

Výsledok bude nasledovný:

Toto bol taký slabší popis dosť podstatných cyklov. V nasledujúcom diely si ukážem pár zaujímavých skriptov.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=306