1.1 HTML ja tagit
Sinunhan piti ohjelmoida Javascriptiä, joten miksi tämän osan otsikko on HTML ja tagit? HTML on kieli, jolla erilaiset elementit näytetään ohjelmassa. Elementtejä ovat esimerkiksi teksti, kuva tai painike, jotka näkyvät ohjelmassa. HTML-elementit koodataan käyttämällä tageja.
Tutkitaan seuraavaksi, miten tekstielementti koodataan ohjelmaan. Tekstielementtiä käytetään, kun sivulla näytetään tekstiä. Tekstinä voidaan pitää mitä vain lauseen ja yhden kirjaimen välillä. Tekstielementti alkaa tagilla <p>
ja loppuu tagiin </p>
. Esimerkiksi lause “Mikä sinun nimesi on?” näyttää koodissa tekstielementtinä seuraavalta: <p>Mikä sinun nimesi on?</p>
.
Erilaisten elementtien muoto on aina sama. Ne alkavat jollakin tagillä ja loppuvat tagiin, jossa on mukana kauttamerkki: /
. Tämä tarkoittaa sitä, että kun ohjelmaan tehdään painike, se kirjoitetaan <button>
tagien sisälle ja painike-elementti koodissa on <button>Painike</button>
. Huomaatko miten koodissa on taas aloitus- ja lopetustagit, vain tagien teksti vaihtuu?
Esimerkki
Esimerkki erilaisista HTML-elementeistä.

Tehtävä
Täydennä tagien sisälle sopivat arvot.
1.2 Mikä ihmeen JavaScript?
HTML-koodilla erilaiset HTML-elementit tulivat näkyviin ohjelmassa. JavaScript-koodi kirjoitetaan myös HTML-elementin sisälle. JavaScript-elementti käyttää <script>
-tagiä eli JavaScript-koodi kirjoitetaan ympäristöön, joka alkaa tagilla <script>
ja loppuu tagiin </script>
. JavaScriptiä siis kirjoitetaan skriptielementin sisälle, joka on script
-tyyppinen HTML-elementti.
<script>
//JavaScript-koodi kirjoitetaan tänne
</script>
Koska skriptielementti on vain yhden tyyppinen HTML-elementti, myös muunlaisia HTML-elementtejä voidaan kirjoittaa ohjelmaan.
Esimerkki
HTML-elementtejä
Alussa mainittiin, että HTML-elementit saavat sisällön näkymään ohjelmassa. Skriptielementti on erityinen siinä mielessä, että se ei varsinaisesti tuo mitään näkyviin ohjelmaan. Skriptielementtiin kirjoitetaan toiminnallisuutta, jota käytetään ohjelmassa.

Ensimmäinen komento: alert()
JavaScript-komennolla alert()
tulostetaan tekstiä näytölle. Tulostaminen on vanha sana, joka periytyy ajalta jolloin näyttöjen sijasta käytettiin kirjoittimia. Nykyään tulostaminen tarkoittaa tekstin näyttämistä näytöllä.
Tulostettava teksti kirjoitetaan sulkujen sisään ja ympäröidään vielä lainausmerkeillä: ""
. Tulostuskomento kokonaisuudessaan on siis muotoa alert("Heissulivei Maailma!")
. Laitetaan koodi vielä <script>
-tagien sisälle ja saamme valmiiksi ensimmäisen JavaScript-ohjelman.
<script>
alert("Heissulivei Maailma!")
</script>
Esimerkki
alert()-komento
<p> vs. alert()
Aluksi näytimme ohjelmassa tekstiä käyttämällä HTML-koodin tekstielementtiä (<p>) ja nyt teemme lähes saman asian JavaScript-koodilla. Seuraavassa osassa selviää, onko tässä mitään järkeä.Tehtävä
Täydennä alert()
-komentoa niin, että se tulostaa nimesi näytölle.
Tehtävä
Kirjoita alert("Heipä hei!")
-komento oikeaan kohtaan koodissa.
Tehtävä
Kirjoita ohjelma, joka tulostaa "JavaScript on kivaa".
Tehtävä
Kirjoita ohjelma, jossa on kaksi alert()-komentoa. Ensimmäinen alert()-komento tulostaa "Tervehdys ensimmäisestä komennosta!" ja toinen komento tulostaa "Tervehdys toisesta komennosta!".
Parametri
Parametri on komennolle annettava arvo. Esimerkiksialert()
-komennolle annetaan parametrina sulkujen sisälle tuleva teksti. Parametrien avulla annamme komennoille tietoa, jota ne voivat käyttää toiminnassaan.
1.3 Uusi komento prompt()
Esimerkki
Tähän ohjelmaan on kirjoitettu prompt()
-komento.
Kokeile, mitä tapahtuu, kun klikkaat lippukuvaketta.
JavaScript-komento prompt()
näyttää ohjelmassa samanlaisen ikkunan kuin alert()
komentokin, mutta tällä kertaa ikkunassa on myös kenttä, johon ohjelman käyttäjä voi kirjoittaa jonkin vastauksen. Kun käyttäjä klikkaa “OK”, syöttää prompt-elementti vastauksen ohjelmalle. Kirjoittamalla yksinkertaisen ohjelman
<script>
prompt()
</script>
ikkuna aukeaa.

Tehtävä
Kirjoita prompt()
-komento oikeaan kohtaan koodissa.
Esimerkki
prompt()
komennolle annetaan parametrina merkkijono "Hei! Mikä sinun nimesi on?"
Kun prompt()
-komennon sisälle kirjoitetaan lainausmerkkien sisälle merkkijono, niin teksti tulostuu näytölle syötekentän yläpuolelle:
<script>
prompt("Hei! Mikä sinun nimesi on?")
</script>
Tehtävä
Tee ohjelma, joka kysyy "Kuinka vanha sinä olet?". Käytätkö prompt()
- vai alert()
-komentoa?
Esimerkki
prompt()
-komennon saama syöte talletetaan muuttujaan "nimi" ja se tulostetaan alert()
-komennolla.
Jotta syötteellä voidaan tehdä jotain hyödyllistä, täytyy se tallettaa muuttujaan. Lisätään komennon prompt("Hei! Mikä sinun nimesi on?")
alkuun vielä muuttujan määrittely:
<script>
var nimi = prompt("Hei! Mikä sinun nimesi on?")
</script>
Huomaatko eron edelliseen koodiin? prompt()
-komennon eteen on lisätty var nimi =
, joka määrittelee nimi
-nimisen muuttujan ja yhtäsuuruus-merkki asettaa tälle nimi
-muuttujalle arvon.
Kun yhdistetään prompt()
-komento ja alert()
-komento, ohjelma pystyy käyttämään käyttäjän syötteitä toiminnassaan. Muuttujaa nimi
voi käyttää alert()
-komennossa.
<script>
var nimi = prompt("Hei! Mikä sinun nimesi on?")
alert("Hei "+ nimi + "!")
</script>
Tehtävä
Tee ohjelma, joka kysyy "Kuinka vanha sinä olet?". Tallenna vastaus muuttujaan, jonka nimi on "ikä". Tulosta tämän jälkeen alert()
-komennolla "ikä"-muuttujan arvo.
Tehtävä
Tee ohjelma, joka kysyy ensin käyttäjältä "Mikä sinun nimesi on?" ja talleta vastaus muuttujaan "nimi". Nimen kysymisen jälkeen ohjelman tulee kysyä "Kuinka vanha olet?" ja tallettaa vastaus muuttujaan "ikä". Tämän jälkeen ohjelma tulostaa "Hei " + nimi + "! Sinä olet " + ikä + " vuotta vanha.".
Tulostaminen JavaScriptillä on monipuolisempaa.
Käyttäjälle tulostaminen JavaScript-komennoilla on monipuolisempaa, kuin HTML-koodissa tekstin näyttäminen. JavaScriptissä voidaan hyödyntää muuttujia tulostuksessa.1.4 Rakennuspalikka: Muuttujat
prompt()
-komennon yhteydessä esiteltiin muuttuja, jolle annettiin nimeksi nimi
. Muuttujat ovat ohjelman eräänlaisia rakennuspalikoita. Muuttujat antavat tiedolle nimen, jonka jälkeen muuttujan arvoa voidaan käyttää annetun muuttujan nimen perusteella.
Muuttujan nimen päättää ohjelmoija – eli sinä. On kuitenkin hyvä, jos muuttujan nimi on sen käyttötarkoitusta kuvaava. Esimerkiksi ikä ja nimi kannattaa tallettaa muuttujiin, joiden nimet ovat ikä
ja nimi
.
Tiedät jo ainakin yhden tavan asettaa muuttujan arvon. prompt()
-komennon yhteydessä muuttujan arvoksi asetettiin käyttäjän syöte. Tämä onnistui käyttämällä yhtäsuuruusmerkkiä muuttujan nimen jälkeen. Muuttujalle voidaan antaa arvo myös asettamalla haluttu arvo yhtäsuuruusmerkin oikealle puolelle. Esimerkiksi muuttuja nimeltä ikä
, jonka arvo on 12
, määritetään kirjoittamalla koodiin var ikä = 12
ja muuttuja, jonka nimi on nimi
ja arvo Milla
, määritetään var nimi = "Milla"
. var
-sanaa käytetään, kun muuttuja määritellään ensimmäisen kerran.

Esimerkki
Muuttujan eläin
arvoksi on annettu "koira" ja muuttujan nimi
arvon määrittää käyttäjän syöte. Lopuksi muuttujia hyödynnetään tulostuksessa.
Samaa tarkoittavia ilmaisuja
Muuttujien luomista voidaan kutsua myös muuttujan määrittämiseksi tai muuttujan arvon asettamiseksi.Tehtävä
Tee ohjelma, jossa ensin kysytään käyttäjältä jokin syöte, joka tallennetaan muuttujaan. Määrittele tämän jälkeen jokin muuttuja, jolle annat itse arvon. Tulosta tämän jälkeen muuttujat näytölle käyttäen alert()
-komentoa.
Muuttujien arvoa voidaan vaihtaa määrittämällä uudelleen saman niminen muuttuja, mutta tällä kertaa uudella arvolla ilman var
-sanaa. Esimerkiksi, jos olemme koodissa määritelleet muuttujan var nimi = "Milla"
, niin kirjoittamalla koodiin nimi = "Pekka"
vaihtaa muuttujan nimi
arvoksi "Pekka"
.

nimi
arvoksi "Pekka"
.
Esimerkki
Lempiväri
-muuttujan arvo on ensin "vihreä", mutta se vaihdetaan arvoksi "keltainen".
Tehtävä
Ohjelmassa on valmiiksi muuttuja suunta
, jonka arvo on "oikea". Kirjoita ohjelmaan koodi, joka vaihtaa suunta
-muuttujan arvoksi "vasen" ennen seuraavaa tulostusta.
Lukumuuttujat
Muuttujia, joiden arvoksi on asetettu luku, voidaan käyttää matemaattisissa laskutoimituksissa kuten tavallisia lukuja. Esimerkiksi kahdelle lukumuuttujalle voidaan suorittaa tavalliseen tapaan yhteen-, vähennys-, kerto- tai jakolasku.
var a = 12
var b = 6
var yhteensa = a+b
var erotus = a-b
var tulo = a*b
var osamäärä = a/b
Esimerkki
Lukumuuttujan a arvo on 12 ja lukumuuttujan b arvo on 6. Laskutoimitusten tulokset tallennetaan muuttujiin ja muuttujat tulostetaan.
Tällöin muuttujien arvoksi asetetaan yhtäsuuruusmerkin oikealla puolella olevan laskutoimituksen tulos. Tietokone siis näkee edellisen esimerkin laskutoimitukset niin, että a:n tilalle laitetaan aina 12 ja b:n tilalle 6. Lopputulos lasketaan näiden perusteella:
var a = 12
var b = 6
var yhteensa = 12+6
var erotus = 12-6
var tulo = 12*6
var osamäärä = 12/6
Tekstimuuttujat
Kun muuttujan arvoksi asetetaan tekstiä, teksti tulee laittaa lainausmerkkien ""
sisälle. Tekstimuuttujia voidaan yhdistää käyttämällä plus-merkkiä: +
.
var nimi = "Milla"
var lempiruoka = "makaronilaatikko"
var koira = "Papu"
var uusiNimi = nimi + koira
Esimerkki
Tekstimuuttujia yhdistetään muuhun tekstiin käyttämällä "+"-merkkiä. Myös tekstimuuttujien yhdistäminen toisiinsa tapahtuu "+"-merkillä.
Esimerkin uusiNimi
-muuttujan arvo saadaan yhdistämällä nimi
- ja koira
-muuttujien arvo. Näin ollen uusiNimi
-muuttujan arvo on "MillaPapu"
.
Yhdistetään muuttujat
Lukumuuttujan yhdistäminen tekstimuuttujaan tapahtuu plusmerkillä. Kun luvun laittaa keskelle tekstiä, pitää sen molemmille puolille laittaa plusmerkit.
var yhteenlasku = 6 + 6
var teksti = "Nimeni on Milla ja olen " + yhteenlasku + " vuotta vanha."
Esimerkki
alert()
-komennolle on annettu parametrina tekstimuuttuja nimeltä teksti
. Muuttujan teksti
arvoksi on annettu merkkijono, johon on yhdistetty lukumuuttuja nimeltään yhteenlasku
.
Tehtävä
Tee ohjelma, joka kysyy ensin käyttäjältä "Mikä sinun nimesi on?" ja talleta vastaus muuttujaan "nimi". Nimen kysymisen jälkeen ohjelman tulee kysyä "Kuinka vanha olet?" ja tallettaa vastaus muuttujaan "ikä". Tämän jälkeen ohjelma tulostaa "Hei " + nimi + "! Sinä olet " + ikä + " vuotta vanha.".
Kysymyksiä
2.4 Yhteenveto komennoista
Komento | Esimerkki | Selitys |
---|---|---|
alert() |
alert("Kissat ovat kivoja.") |
Näyttää käyttäjälle merkkijonon |
prompt() |
prompt("Mikä sinun nimesi on?") |
Kysyy käyttäjältä syötteen |
var muuttujanNimi = |
var viesti = "Hauska tavata" |
Luo uuden muuttujan |
var syöte = prompt("Nimesi?") |