JavaScript For-silmukka
- Edellinen sivu JS Switch
- Seuraava sivu JS Loop For In
Silmukat voivat suorittaa koodikohdan useita kertoja.
JavaScript silmukat
Jos sinun täytyy suorittaa koodia useita kertoja ja käyttää eri arvoja kerrallaan, silmukka (loop) on erittäin kätevä.
Yleensä kohtaamme esimerkkejä, joissa käytetään taulukoita:
Ei tarvitse kirjoittaa näin:
text += autojen[0] + "<br>"; text += autojen[1] + "<br>"; text += autojen[2] + "<br>"; text += autojen[3] + "<br>"; text += autojen[4] + "<br>"; text += cars[5] + "<br>";
Voit kirjoittaa näin:
for (i = 0; i < cars.length; i++) { text += cars[i] + "<br>"; }
Eri tyypit silmukoita
JavaScript tukee erilaisia silmukoita:
for
- Suorita koodikappale useita kertojafor/in
- Käy läpi objektin ominaisuuksiawhile
- Suorita koodikappale silmukan ehdollisuuden ollessa truedo/while
- Suorita koodikappale silmukan ehdollisuuden ollessa true
For-silmukka
For-silmukka on työkalu, jota käytetään usein silmukoiden luomiseen.
For-silmukan syntaksi on seuraava:
for (Lause 1; Lause 2; Lause 3) { Suoritettava koodikappale }
Lause 1 suoritetaan silmukan (koodikappaleen) alussa.
Lause 2 määrittää silmukan (koodikappaleen) suoritusedellytyksen.
Lause 3 suoritetaan silmukan (koodikappaleen) jokaisen suorituksen jälkeen.
Esimerkki
for (i = 0; i < 5; i++) { text += "Luku on " + i + "<br>"; }
Yllä olevasta koodista voit oppia:
Lause 1 asettaa muuttujan silmukan alussa (var i = 0).
Lause 2 määrittää silmukan suoritusedellytyksen (i on pienempi kuin 5).
Lause 3 lisää arvoa koodikappaleen jokaisen suorituksen jälkeen (i++).
Lause 1
Yleensä käytät lauseen 1 alustamaan silmukan käytössä olevat muuttujat (i = 0).
Mutta tilanne ei aina ole tällainen, JavaScript ei välitä. Lause 1 on myös valinnainen.
Voit alustaa useita arvoja lauseessa 1 ( pilkulla erotettuna):
Esimerkki
for (i = 0, len = cars.length, text = ""; i < len; i++) { text += cars[i] + "<br>"; }
Ja voit myös jättää lauseen 1 pois (esim. asettaa arvon silmukan alussa):
Esimerkki
var i = 2; var len = cars.length; var text = ""; for (; i < len; i++) { text += cars[i] + "<br>"; }
Lause 2
Yleensä lause 2 käytetään alkuperäisen muuttujan ehdollisen laskemiseen.
Mutta tilanne ei aina ole tällainen, JavaScript ei välitä. Lause 2 on myös valinnainen.
Jos lause 2 palauttaa true, silmukka alkaa uudelleen, jos palauttaa false, silmukka päätyy.
Jos lause 2 jätetään pois, silmukkaan on tarjottava break. Jos et tee niin, silmukka ei koskaan pääty. Lue seuraavassa luvussa lisää breakista.
Lause 3
Yleensä lause 3 lisää alkuperäisen muuttujan arvoa.
Mutta tilanne ei aina ole tällainen, JavaScript ei välitä. Lause 3 on myös valinnainen.
Lause 3 voi tehdä mitä tahansa, kuten negatiivinen lisäys (i--), positiivinen lisäys (i = i + 15) tai mikä tahansa muu.
Lauseke 3 voidaan myös jättää pois (esimerkiksi, kun lisäät arvoa silmukan sisällä):
Esimerkki
var i = 0; var len = cars.length; for (; i < len; ) { text += cars[i] + "<br>"; i++; }
For/In-silmukan
JavaScript for/in
Lauseke käy läpi objektin ominaisuudet:
Esimerkki
var person = {fname:"Bill", lname:"Gates", age:62}; var text = ""; var x; for (x in person) { text += person[x]; }
While-silmukan
Opimme seuraavassa luvussa while-silmukan ja do/while-silmukan.
Oppikirjat
Lisätietoja JavaScript for-lausekeLisätietoja, lue JavaScript-ylpeä oppituntiin liittyvä sisältö:
- ECMAScript-iteraatiolauseet
- Iteratiolauseet, joita kutsutaan myös silmukkalauseiksi, ovat neljä ECMAScript tarjoamaa iteratiolauseita.
- Edellinen sivu JS Switch
- Seuraava sivu JS Loop For In