\(\renewcommand{\vec}[1]{\mathbf{#1}} \DeclareMathOperator*{\sijoitus}{\Big/} \newcommand{\eval}[2]{\sijoitus_{\kern-0.7em#1}^{\kern0.7em#2}\!} \)

5.3.2 Muuttuja

Muuttuja on olennainen osa ohjelmointia. Nimensä mukaisesti muuttujan arvo voi vaihdella. Muuttujalla on kuitenkin aina samana pysyvä nimi, jonka avulla se tunnistetaan koodissa. Tietokone muistaa sitten muuttujan arvon.

Muuttujan nimi alkaa yleensä pienellä kirjaimella, eikä sisällä erikoismerkkeja. Ääkkösiäkin kannattaa välttää. JavaScriptissä muuttuja esitellään var-sanan avulla (engl. variable). Muuttujalle annetaan yleensä samalla jokin arvo "="-merkin avulla. Esimerkiksi seuraava pieni ohjelma sisältää neljä muuttujaa, luku1, luku2, tulos ja teksti:

Huomaa koodissa kahdella vinoviivalla (//) alkavat rivit. Ne ovat kommentteja, eli selventävät koodia, mutteivat vaikuta sen toimintaan (ovat selvyyden vuoksi vihreällä).

<script type="text/javascript"> var luku1 = 15; var luku2 = 15; var tulos = "Ei tulosta"; var teksti = ""; // Kirjoitetaan muuttujien arvot ennen muutoksia: teksti = "Ennen laskua: luku1 = "+luku1+", luku2 = "+luku2+" ja tulos = "+tulos; // Lisätään muuttujan arvon perään rivinvaihtoja (huomaa "+="-merkintä!): teksti += "<br /><br />"; // Suoritetaan kertolasku, jonka vastaus tulee tulos-muuttujan arvoksi: tulos = luku1*luku2; // Kirjoitetaan uudet muuttujien arvot taas teksti-muuttujaan: teksti += "Laskun jälkeen: luku1 = "+luku1+", luku2 = "+luku2+" ja tulos = "+tulos; document.writeln(teksti); </script>

Yllä oleva koodi aiheuttaa seuraavanlaisen tulostuksen:

Ennen laskua: luku1 = 15, luku2 = 15 ja tulos = Ei tulosta Laskun jälkeen: luku1 = 15, luku2 = 15 ja tulos = 225
Huomaa, että luku1 ja luku2 ovat entisellään, mutta tulos-muuttujan arvona on kertolaskun 15⋅15 tulos 225.

Huomaa, että yhtäsuuruusmerkillä "=" on JavaScriptissä kuten monissa muissakin ohjelmointikielissä erilainen merkitys kuin matematiikassa. JavaScriptissä "="-merkki tarkoittaa arvon sijoitusta. Esimerkiksi koodi x = 3 tarkoittaa, että muuttujalle x sijoitetaan arvoksi luku 3.

Ohjelmakoodissa voi olla hyvinkin tulla vastaan seuraava rivi:

i = i + 1

Matemaattisesti ajatellen tuo on epätosi yhtälö, mutta ohjelmoinnissa se tarkoittaa sitä, että muuttujalle i sijoitetaan arvo i + 1, eli muuttujaa i kasvatetaan yhdellä. Tälle toimitukselle on JavaScriptissä lyhennysmuoto i++, joka siis hoitaa saman asian.