For-silmukka - Toista toiminto X kertaa
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.
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.
1counter <= 10Inkrementti
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").
1counter = counter + 1;Vinkki: Oikotie laskurin arvon nostamiseen
Tämä koodi:
1counter = counter + 1;Voidaan ilmaista lyhenteellä:
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?
1counter = counter + 5;Siihenkin on lyhenne!
1counter += 5;Samanlaiset lyhenteet toimivat myös vähennystä varten.
1counter--;
2counter -= 5;Esimerkki
Tässä aika perus esimerkki for-loopista, joka tulostaa numerot 1-5:
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:
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
Hakkeroinnin oppiminen alkaa tästä
Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.