Cykly a všetko čo k nim patrí :)
29.7.2004 10:00 | Rišo Marko | přečteno 16648×
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 (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 {
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 (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.