JavaScript
JAVASCRIPTIIN LIITTYVÄÄ KOULUTUSTA VUONNA 2025!
Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi heti! Koulutuksen järjestää asiantuntijasi Koulutus- ja konsultointipalvelu KK Mediat.
JavaScriptin ohjausrakenteet: for-toistolause
For toistolause mahdollistaa koodin suorittamisen toistuvasti määritellyn ehdon mukaan
Lause koostuu kolmesta osasta: ensimmäinen osa alustaa laskurina toimivan muuttujan, toinen osa tarkistaa ehdon, ja kolmas osa määrittää laskurin kasvuvälin arvomuunto-operaattoria käyttäen.
For-lohko suorittaa itseään niin kauan kuin ehto on tosi (true
).
For-toistolauseen syntaksi on:
for (alustus; ehto; kasvuväli) {
// suoritettava koodi
}
Alla olevassa esimerkissä tulostetaan lukusarja 0–60 kuuden numeron askelilla:
for (var x = 0; x <= 60; x=x+6) {
document.write(x,"<br>");
//0,6,12,18,24...
}
For-silmukan toinen muoto (for...in) iteroi avaimet
JavaScript tarjoaa myös toisen version for
-silmukasta, jota kutsutaan for...in
-rakenteeksi.
Tätä rakennetta käytetään erityisesti olioiden (objektien) ja taulukoiden avainten ja indeksien iterointiin.
For...in
silmukan suoritus päättyy, kun tietorakenteen iteroitavat avaimet on käsitelty.
Tämä on hyödyllinen tapa käsitellä esimerkiksi JavaScriptin olioita:
function Auto(a,b,c){
this.a=a;
this.b=b;
this.c=c;
}
var AutoOlio;
AutoOlio= new Auto(1,2,3);
for (var a in AutoOlio) {
document.write("Muuttujan " + AutoOlio + " arvo on " + AutoOlio[a] + "<br>");
}
// tulostaa näytölle...
//Muuttujan a arvo on 1
//Muuttujan b arvo on 2
//Muuttujan c arvo on 3
For...in
-silmukka käy läpi myös mahdolliset perityt ominaisuudet.
Tämä voi joskus johtaa odottamattomiin tuloksiin, sillä silmukka käsittelee myös perittyjä ominaisuuksia kuin ne olisivat suoraan objektin omia.
Jos haluat varmistaa, että silmukka käy läpi vain käsiteltävän objektin sisäiset ominaisuudet, käytä hasOwnProperty
-metodia tarkistamiseen:
for (var a in AutoOlio) {
if (AutoOlio.hasOwnProperty(a)) {
document.write("Muuttujan " + a + " arvo on " + AutoOlio[a] + "
");
}
}
For...of rakenne iteroi arvot
For...in
rakenteen läheinen variaatio on for...of rakenne, jossa JavaScript iteroi avainten sijaan arvot.
Tätä rakennetta ei voi käyttää tavallisilla olioilla.
Sen sijaan for...of-rakennetta voi käyttää iteroitavien rakenteiden kuten taulukoiden, merkkijonojen, ja iteroitavien kokoelmien (kuten NodeList) arvojen lukemiseen.
const numerot = [10, 20, 30];
for (let numero of numerot) {
console.log(numero);
}
// Tulostaa:
// 10
// 20
// 30
for (let kirjain of "ABC") {
console.log(kirjain);
}
// Tulostaa:
// A
// B
// C