ECMAScript toistolause

Iteratiiviset lauserakenteet tai silmukalauserakenteet ovat lauserakenteita, jotka määrittelevät joukon toistuvasti suoritettavia komentoja, kunnes tietty ehto täyttyy.

Silmukat käytetään yleensä silmukoidakseen taulukon arvoja (siitäkin syystä nimeltään) tai suorittamaan toistuvia laskutoimituksia.

Tämä luku esittelee ECMAScript tarjoamat neljä iteratiivista lauserakennetta.

do-while-lauseke

do-while-lauseke on jälkitehtävä silmuke, mikä tarkoittaa, että poistumisehto laskeutuu silmukan sisäisen koodin suorittamisen jälkeen. Tämä tarkoittaa, että silmukan pääkehykseä suoritetaan vähintään kerran ennen ilmauksen laskentaa.

Sen syntaksi on seuraava:

do {lauseke} while (ilmaisu);

Esimerkki:

var i = 0;
do {i += 2;} while (i < 10);

while-lauseke

while-lauseke on ennalta testattu silmuke. Tämä tarkoittaa, että poistumisehdon lasketaan ennen silmukan sisäisen koodin suorittamista. Siksi silmukan pääkehykseä ei ehkä suoriteta lainkaan.

Sen syntaksi on seuraava:

while (ilmaisu) lauseke

Esimerkki:

var i = 0;
while (i < 10) {
  i += 2;
}

for-lauseke

for-lauseke on ennalta testattu silmuke, ja sitä voidaan käyttää muuttujan alustamiseen ennen silmukan suorittamista, ja määrittämään koodia, joka suoritetaan silmukan jälkeen.

Sen syntaksi on seuraava:

for (initialization; expression; post-loop-expression) lauseke

Huomioitavaa:post-loop-expression Jälkimmäistä pistettä ei voi kirjoittaa, muuten koodi ei toimi.

Esimerkki:

iCount = 6;
for (var i = 0; i < iCount; i++) {
  alert(i);
}

Tämä koodi määrittää muuttujan i alkuperäiseksi 0. Vain kun ehdollinen ilmaisu (i < iCount) on totta, for-silmukka suoritetaan, mikä tarkoittaa, että silmukan pääkehykseä ei välttämättä suoriteta. Jos silmukan pääkehyksessä suoritetaan, silmukan jälkisanamuuttuja suoritetaan ja muuttuja i iteroidaan.

for-in-lauseke

for-lauseke on tiukka toistolauseke, joka käytetään objektin ominaisuuksien laskemiseen.

Sen syntaksi on seuraava:

for (ominaisuus in ilmaisu) lauseke

Esimerkki:

for (sProp in window) {
  alert(sProp);
}

Tässä for-in-lauseke käytetään näyttämään window-objektin kaikki ominaisuudet.

PropertyIsEnumerable() oli aiemmin käsitelty ominaisuus, joka on ECMAScriptissä erityisesti tarkoitettu selittämään, voidaanko ominaisuutta käyttää for-in-lausekkeessa.