HAKATEMIA
11JavaScript

For-silmukka - Toista toiminto X kertaa

Helppo10MIN

Mikä on for-looppi?

For-silmukka (tai finglish termi "looppi" on se jota oikeasti käytetään) on tapa kertoa ohjelmallesi toistaa toiminto X määrä kertoja. Silmukassa on kolme pääosaa: for(Alustus; Ehto; Inkrementti)

Alustus

Alustusvaiheessa asetetaan muuttuja (usein kutsutaan laskuriksi) alkamaan tietystä arvosta.

JAVASCRIPT
1let counter = 0;

Ehto

Ehdossa kerrotaan silmukalle kuinka kauan jatkaa suorittamista (tämä on lauseke, joka arvioidaan ennen jokaista *iteraatiota *(eli silmukan pyörähdystä), ja jos se evaluoidaan todeksi, siirrymme silmukan koodiin).

Esimerkiksi, jos haluamme tehdä jotain 10 kertaa ja aloitimme laskurin arvolla 0, haluamme käyttää lauseketta ehtona, joka arvioidaan todeksi niin kauan kuin laskuri on alle 10.

JAVASCRIPT
1counter <= 10

Inkrementti

Jottei looppi pyörisi ikuisesti, laskurin arvoa pitää nostaa jokaisen silmukan kierroksen jälkeen. Jos emme nostaisi laskuria, ehto (counter <= 10) pysyisi ikuisesti totena ja silmukka suoritettaisiin loputtomiin ("loputon silmukka / infinite loop").

JAVASCRIPT
1counter = counter + 1;

Vinkki: Oikotie laskurin arvon nostamiseen

Tämä koodi:

JAVASCRIPT
1counter = counter + 1;

Voidaan ilmaista lyhenteellä:

JAVASCRIPT
1counter++;

Ne ovat sama asia! Kyseessä on vain lyhenne, "oikopolku", joka helpottaa kehittäjän elämää ja tekee koodista vähän ytimekkäämpää. Entä jos haluat tehdä näin?

JAVASCRIPT
1counter = counter + 5;

Siihenkin on lyhenne!

JAVASCRIPT
1counter += 5;

Samanlaiset lyhenteet toimivat myös vähennystä varten.

JAVASCRIPT
1counter--;
2counter -= 5;

Esimerkki

Tässä aika perus esimerkki for-loopista, joka tulostaa numerot 1-5:

JAVASCRIPT
1for (let i = 1; i <= 5; i++) {
2  console.log(i);
3}

Tässä koodissa:

  • Aloitetaan i arvosta 1.
  • Silmukka suoriutuu niin kauan kuin i on pienempi tai yhtä suuri kuin 5.
  • Jokaisen kierroksen jälkeen i arvoa kasvatetaan yhdellä.
  • Joka kerta tulostetaan nykyinen arvo i:

Toinen esimerkki

Silmukat ovat hyödyllisiä myös laskutoimitusten tekemiseen. Esimerkiksi voit käyttää silmukkaa lisätäksesi kaikki numerot 1:stä 5:een yhteen. Tämä tapahtuu lisäämällä laskurin (tässä nimettynä "i" joka on muuten aika yleinen nimi laskurimuuttujalle vaikka se voikin olla mikä vaan) arvo muuttujaan total jokaisen iteraation yhteydessä.

Näin voit tehdä sen:

JAVASCRIPT
1let total = 0;
2for (let i = 1; i <= 5; i++) {
3  total = total + i;
4}
5console.log(total); // Tulisi tulostaa 15
  • Luomme muuttujan total ja alustamme sen arvolla 0.
  • Jokaisen luvun (1 - 5) kohdalla lisäämme sen totaliin.
  • Silmukan päättyessä total sisältää numeroiden 1+2+3+4+5 summan (joka on 15).

Harjoitustehtävät

1 / 2
Hakatemia Pro

Hakkeroinnin oppiminen alkaa tästä

Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.