JavaScript While-silmukka

Silmukka voi suorittaa koodiblokin niin kauan kuin ehto on totta.

While-silmukka

While-silmukka toistaa koodiblokin niin kauan kuin määritelty ehto on totta.

Syntaksi

while (Ehto) {
    Suoritettava koodibloki
}

Esimerkki

Tässä esimerkissä silmukan sisällä oleva koodi suoritetaan yhä uudelleen, kunnes muuttuja (i) on 10:

while (i < 10) {
    text += "Luku on " + i;
    i++;
}

Kokeile itse

Jos unohdat lisätä ehtoon käytetyn muuttujan, silmukka ei koskaan pääty. Tämä voi aiheuttaa selaimen kaatumisen.

Do/While-silmukka

Do/while-silmukka on while-silmukan muunnelma. Tämä silmukka suorittaa koodiblokin kerran ennen kuin tarkistaa, onko ehto totta, ja toistaa silmukan niin kauan kuin ehto on totta.

Syntaksi

do {
    Suoritettava koodibloki
}
while (Ehto);

Esimerkki

Tässä esimerkissä käytetään do/while-silmukkaa. Tämä silmukka suorittaa vähintään kerran, vaikka ehto on false, koska koodibloki suoritetaan ennen ehdon testiä:

do {
    text += "Luku on " + i;
    i++;
 }
while (i < 10);

Kokeile itse

Älä unohda lisätä arvoja iteratiivisen ehdotuksen käytössä oleville muuttujille, muuten silmukka ei koskaan pääty!

Vertaa For ja While

Jos olet lukenut aikaisemmin kappaleet, jotka käsittelevät toistoja, huomaat, että while-toisto on erittäin samanlainen kuin for-toisto, ja lause 1 ja lause 2 voidaan jättää pois.

Tässä esimerkissä toistetaan for-lukuTässä esimerkissä toistetaan

Esimerkki

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";
for (;cars[i];) {
    text += cars[i] + "<br>";
    i++;
} 

Kokeile itse

Tässä esimerkissä toistetaan while-lukuTässä esimerkissä toistetaan

Esimerkki

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";
while (cars[i]) {
    text += cars[i] + "<br>";
    i++;
} 

Kokeile itse

Lukeminen

Lisätietoja JavaScript while-lauseLisätietoja, lue JavaScript-yläoppituntisen vastaava osio:

ECMAScript-iterratiiviset lauseet
Iteratiiviset lauseet, tunnetaan myös toistolauseina, ovat toistolauseita. Tämä luku esittelee neljä ECMAScript tarjoamaa iteratiivista lausetta.