Tento článok je súčasťou môjho online kurzu programovania v JavaScripte. Každý sa ho môže zúčastniť, kurz je zdarma. Kto sa ešte nezaregistroval, môže tak spraviť tu: http://eepurl.com/UzefH. Kurz obsahuje teoretickú časť (články na tomto blogu) a praktickú čast (domáce úlohy zadávané emailom).
Máme za sebou prvú lekciu o premenných, druhú lekciu o podmienkach a dnes nás čakajú cykly (loops).
Cykly slúžia vykonanie určitého kódu viackrát a na prechádzanie prvkov v poli. Máme viacero druhov cyklov:
For:
for (var i = 1; i <= 10; i++) { console.log(i); //vypíše do konzoly čísla od 1 po 10 }
Poďme si rozobrať jednotlivé časti for cyklu. “var i = 1;” definuje premennú “i” s hodnotou 1. Podmienka “i <= 10;” znamená, že cyklus bude bežať dovtedy, kým táto podmienka platí. Tj. kým “i” je menšie, alebo rovné 10. “i++” znamená, že “i” sa po každej iterácii cyklu zväčší o 1. V cykloch je zvykom pomenovávať iteračnú premennú písmenom “i”.
Využitie cyklu for pre prechádzanie prvkov v poli:
var fruits = ['apple', 'pear', 'citron']; for (var i = 0; i < fruits.length; i++) { console.log(fruits[i] + ' '); //vypíše 'apple pear citron ' }
Máme definované pole fruits. Definujeme “var i = 0;” pretože polia sú indexované od 0. Cyklus prebieha dovtedy, kým “i” je menšie ako počet prvkov v poli, v tomto prípade 3. Tj. hodnota “i” je v prvej iterácii 0, v druhej 1, v tretej 2 a keď “i” je 3, tak cyklus končí, pretože 3 nie je menšie ako 3 (počet prvkov v poli).
While:
var i = 0; while (i <= 10) { console.log(i); //vypíše čísla od 0 po 10 i++; }
Cyklus while môžeme použiť podobne ako cyklus for. Môžete si všimnúť, že tento príklad je podobný ako prvý príklad pre for. Načo je teda cyklus while, keď máme for? Cyklus while sa používa ak vopred nevieme koľkokrát cyklus prebehne.
//cyklus while pobeží dovtedy, kým nezadáte číslo 7 do promptu while (prompt('3 + 4 = ') != 7) { console.log('zle'); } console.log('ok');
Príklad vyššie si môžete vyskúšať na http://jsfiddle.net/elfoslav/m7x4z3o9/
Do…While
“Do” znamená “rob”, “while” znamená “kým”. V preklade to znamená “rob niečo, kým…”
var i = 0; do { console.log(i); //Vypíše raz "0" i++; } while (i > 5); //cyklus tu končí, pretože 0 nie je väčšia ako 5
Zhrnutie
Najpoužívanejší cyklus je for. Mali by ste si s ním vystačiť v 98% prípadoch. Je dobré vedieť, že existuje while a do…while a kedy ich použiť.
While použijete ak vopred neviete kedy cyklus skončí.
Do…while použijete ak potrebujete aby cyklus aspoň raz prebehol a potom už závisí na podmienke while či cyklus prebehne 2 a viackrát.
Cvičenie
http://jsfiddle.net/elfoslav/0chmvb2d/
Ako odovzdávať cvičenia? Keď sa ti zobrazí stránka s cvičením, klikni v hornom menu na “Fork”. To vytvorí tvoju kópiu cvičenia. Keď budeš chcieť spustiť kód, klikni v hornom menu na “Run”. Keď budeš mať cvičenie hotové, klikni na “Update”, to uloží tvoje cvičenie. Potom už len skopíruješ link cvičenia a odošleš mi ho do mailu. Ja ti cvičenie skontrolujem a oznámkujem.
Alebo jednoduchšie: Zaregistruj sa na http://www.codermania.com a prejdi si cvičenia tam. Cvičenia sa vyhodnocujú automaticky. Ak si nebudeš dať vedieť rady, je tam tlačidlo “Ask for help”. Ak nevieš po anglicky, môžeš použiť Google translator. Veľa šťastia.