Funktio

Ohjelmointikielissä funktio suorittaa aina jonkin tehtävän tai tehtäviä, yleensä sellaisia, joita tarvitaan toistuvasti. Funktiolle annetaan aina yksilöllinen nimi (ei ääkkösiä jne.), jolla sitä kutsutaan aina tarvittaessa. Luonnollisesti funktion nimi ei voi olla käytettynä minkään muuttujan nimenä.

Sivu voi kutsua samaa funktiota useita kertoja, funktion sisältä voidaan kutsua toisia funktioita. Funktio voi saada alkuarvoja parametrina ja se voi myös palauttaa arvoja.

Funktion kirjoittaminen

JavaScriptissä funktio määritellään sananalla function. Tämän sanan jälkeen kirjoitetaan funktion nimi ja sulkeet () heti nimen perään. Aaltosulkeiden sisään kirjoitetaan funktiossa suoritettavat käskyt.

Funktiota kutsutaan sen nimellä, jolloin funktio käskyt suoritetaan.

Muuttujien näkyminen funktion sisällä

Jos muuttuja esitellään funktion sisällä, niin se ei näy funktion ulkopuolelle. Funktion ulkopuolella esitelty muuttuja sen sijaan näkyy kaikkien funktioiden sisällä. Tällöin puhutaan globaalista muuttujasta. Yleisesti globaaleja muuttujia kannattaa tehdä mahdollisimman vähän, koska vähänkin suuremassa ohjelmasa on muuten vaikea pitää yllä ja muistaa jo käytettyjä muuttujan nimiä.

Esimerkki:

Funktion parametrit

Funktiolle voidaan välittää parametrinä arvoja, yksi tai useampia. Ne tulevat funktiokutsussa sulkeiden sisään. Useamman parametrin tapauksessa pilkuilla erotettuina.

Alla olevassa paljonSanomista-funktiossa kutsutaan toistuvasti sanojotain-funktiota ja välitetään sille parametrinä haluttu merkkijono. sanojotain -funktio ottaa merkkijonon vastaan ja tallentaa sen muuttujaan teksti, jonka jälkeen funktio voikin käsitellä merkkijonoa.

Funktion palautusarvo

Funktio voi palauttaa arvon return -käskyllä (katso riviä 10 alla). Palautettu arvo voidaan tallentaa muuttujaan kuten mikä tahansa muuttujaan tallennettua arvo (rivillä 19). Ainoa ero on, että yhtäsuuruusmerkin jälkeen on funktiokutsu.

Huomaa! Rivillä 16 tuomme ohjelmamme käyttöön uudet valmiin funktiot window.prompt.

Prompt saa parametriksi sulkeiden sisään kysymyksen. Funktio palauttaa käyttäjän kirjoittaman arvon, mikä voidaan tallentaa muuttujaan (kysyNumero)


Tehtävä 1:

Tehtävä 2: