[Sisällys]
[Seuraava]
JavaScript-kielen käskyt
break
Käsky lopettaa suoritettavana olevan while- tai for luupin
suorituksen ja siirtää ohjelman suoritetuksen luuppia seuraavaan käskyyn.
Syntaksi
break
Esimerkki
Kysytään funktiolta getnumber() arvo. Jos arvo on pienempi kuin
nolla, keskeytetään luuppi. Muutoin suoritetaan arvolle funktio
do_something()
while (i > 100) {
i = getnumber()
if (i < 0) {
break
}
do_something(i)
}
continue
Käsky keskeyttää while- tai for-luupin suorituksen ja
hyppää takaisin luupin alkuun, seuraavaan iteraatioon. Toisin kuin
break-käsky, continue ei lopeta luupin suorittamista
kokonaan, vaan
- while -luupissa hyppää takaisin ehtolauseeseen
- for -luupissa hyppää takaisin päivityslauseeseen
Syntaksi
continue
Esimerkki
Suoritetaan funktio do_something() kaikille arvoille [0,99],
jotka eivät ole jaollisia kolmella
for (i = 0; i < 100; i++) {
if (i % 3 == 0) {
continue
}
do_something(i)
}
for
Käsky luo luupin, joka koostuu kolmesta lausekkeesta sekä lauseesta,
joka suoritetaan jokaisella iteraatiolla. Lause voi olla mikä tahansa
JavaScript-käskyrakenne tai käskylohko.
Syntaksi
for ([aloituslauseke;] [ehtolauseke;] [päivityslauseke])
lause
- aloituslauseke on tavallinen lauseke tai muuttujamäärittely. Tätä
lauseketta käytetään yleensä alustamaan luupissa käytetty laskuri-muuttuja.
Tässä lausekkeessa voidaan luoda uusi muuttuja var-käskyllä.
- ehtolauseke suoritetaan jokaisen luupin läpikäymisen alussa. Jos
tämä ehtolauseke on tosi (eli erisuuri kuin nolla), suoritetaan lause.
Jos ehtolauseketta ei ole, on se sama kuin lauseke saisi aina arvon tosi.
- päivityslauseketta käytetään yleensä päivittämään tai lisäämään
luupissa käytetyn laskurin arvoa. Tämä lauseke suoritetaan aina lauseen
jälkeen juuri ennen ehtolausekkeen suoritusta.
Esimerkki
Suoritetaan funktio do_something() kaikille kokonaisluvuille
välillä 0-99.
for (i = 0; i < 100; i++)
do_something(i)
for...in
Käsky suorittaa käy läpi annetun objektin kaikki ominaisuudet ja
suorittaa jokaiselle ominaisuudelle lauseen. Lause voi olla
mikä tahansa käsky tai käskylohko.
Syntaksi
for ( muuttuja in objekti)
lause
- muuttuja on muuttuja jota iteroidaan ominaisuuksien yli.
- objekti on objekti jonka ominaisuuksia käydään läpi.
- lause suoritetaan jokaiselle ominaisuudelle erikseen.
- lauseen sisällä iteroitavan muuttuja arvona on merkkijono,
joka on kyseisen ominaisuuden nimi. Objektin tiettyä ominaisuutta
voidaan osoittaa lausekkeella objekti[muuttuja].
Esimerkki
Olkoon kaara objektin auto instanssi, joka sisältää
ominaisuudet vuosi, merkki ja ajettu. Muodostetaan
merkkijono str, joka sisältää ominaisuudet muodossa ominaisuus =
arvo rivinvaihdoilla erotettuna.
str = "";
for (i in kaara) {
str += i + " = " + kaara[i] + "\n";
}
function
Käsky määrittelee JavaScript-funktion nimi, jolle voidaan
antaa parametrit param. Parametrien tyyppinä voi olla merkkijono,
numero tai objekti.
Syntaksi
function nimi([param] [, param] [..., param]) {
lause
[lause ...]
}
- Jos funktion halutaan palauttavan jonkin arvon, on funktiossa oltava
käsky return joka määrittelee arvon joka palautetaan.
Funktiomäärittelyä ei voi sijoittaa käskylohkoon tai toisen funktiomäärittelyn
sisälle.
- Kaikki perustyyppisetparametrit välitetään funktiolle arvoina (by value).
Objektit välitetään referensseinä. Toisin sanoen funktion parametrit ovat vain
paikallisia muuttujia, joiden arvona on "kopio" todellisten argumenttien
arvoista. Funktion sisällä tapahtuneet parametrimuuttujien muutokset eivät
siis välity funktion ulkopuolelle. Kuitenkin jos objekteja itseään muutetaan,
ne muutokset näkyvät.
- Funktio voi ottaa myös vaihtelevan määrän parametreja. Tällöin funktion
parametreihin viitataan lausella funktionimi.arguments[i], jossa
funktionimi on kyseisen funktion nimi ja
i on viitattavan parametrin numero alkaen nollasta. Funktiolle
annettujen parametrien määrä löytyy muuttujasta funktionimi.arguments.length.
- Funktion kutsuja saadaan selville muuttujasta funktionimi.caller.
Kyseisen muuttujan arvona on kutsuneen funktion objektireferenssi.
Esimerkki
Määritellään funktio add, joka ottaa parametreina kaksi numeroa
ja palauttaa niiden summan.
function add(a, b) {
return a+b;
}
if...else
Käsky suorittaa käskyn tai käskyt jos annettu ehto on tosi. Jos ehto
on epätosi, voidaan suorittaa toinen käsky tai käskyt.
Syntaksi
if (ehtolauseke)
lause 1
[else
lause 2]
- ehtolauseke voi olla mikä tahansa JavaScript-lauseke, joka saa
arvon tosi tai epätosi (erisuuri tai yhtäsuuri kuin nolla). Jos ehtolauseke
saa arvon tosi, lause 1 suoritetaan.
- lause 1 ja lause 2 voivat olla mitä tahansa
JavaScript-käskyjä tai lausekkeita, mukaanluettuna useammasta käskystä
muodostuva käskylohko. Myös sisäkkäiset if-lauseet ovat mahdollisia.
Esimerkki
Jos muuttujan a arvo on suurempi kuin 10, lisää muuttujan a
arvo muuttujaan b ja aseta muuttuja a nollaksi. Jos a
ei ollut yli kymmenen, kopioi muuttujan b arvo siihen.
if (a > 10) {
b += a;
a = 0;
}
else
a = b;
return
Käsky määrittelee funktion palauttaman arvon.
Syntaksi
return lauseke
Esimerkki
Luodaan funktio square(), joka palauttaa argumenttinsa neliön.
function square(x) {
return x * x
}
var
Käsky määrittelee muuttujan tai muuttujia. Muuttujalle/muuttujille voidaan
myös asettaa alkuarvo.
Syntaksi
var muuttujanimi [= arvo] [..., muuttujanimi [ = arvo] ]
- muuttujanimi on määriteltävän muuttujan nimi.
- arvo on muuttujalle asetettava alkuarvo, joka voi olla mikä tahansa
JavaScript-lauseke.
- Muuttujien määrittelyalue riippuu siitä missä ne määritellään.
Jos määrittely on funktion sisällä, määrittelyalue on
tämä funktio. Jos ulkopuolella, määrittelyalue on kyseinen ohjelma,
kaikkine funktioneen.
- var-käskyä ei tarvitse käyttää funktioiden ulkopuolella;
muuttujat voidaan määritellä yksinkertaisesti antamalla niille jokin arvo.
Hyvään ohjelmointityyliin kuuluu kuitenkin määritellä kaikki käyttämänsä
muuttujat.
Esimerkki
var x = 0, foo = 2+2
while
Käsky luo luupin, joka suorittaa ehtolausekkeen; jos lauseke on
tosi, suoritetaan lause, joka voi olla mikä tahansa käsky tai
käskylohko.
Syntaksi
while (ehtolauseke)
lause
- ehtolauseke evaluoidaan jokaisella suorituskerralla ennen kuin
lause suoritetaan.
- lause suoritetaan jos ehtolauseke oli tosi.
Esimerkki
Lasketaan yhteen kaikki kokonaisluvut välillä 1-100 ja palautetaan
tulos muuttujassa sum.
i = 1;
sum = 0;
while (i <= 100) {
sum += i;
i += 1;
}
with
Käsky asettaa oletus-objektin lauseen ajaksi. Lause voi
olla myös käskylohko. Tämän lauseen sisällä ei kyseisen objektin ominaisuuksiin
viitatessa tarvitse kertoa objektin nimeä (obj.om -> om).
Syntaksi
with (objekti)
lause
- objekti on oletus-objekti jonka ominaisuuksiin halutaan viitata.
- lause on mikä tahansa käsky tai käskylohko.
Esimerkki
Olkoon määriteltynä objekti auto ja sille instanssi kaara.
Olkoon autolla ominaisuudet merkki ja vuosi, joille
halutaan asettaa arvot:
with (kaara) {
merkki = "Skoda"
vuosi = "1977"
}
Käskylohko
Yhdistää useamman käskylauseen yhdeksi käskyksi.
Syntaksi
{
lause
[ lause ]
[ ... ]
}
Esimerkki
If-lause suorittaa käskyt b += a ja a = 0, jos a > 10:
if (a > 10) {
b += a;
a = 0;
}
Simo.Sarkka@iki.fi