ECMAScript-funktioiden yleiskatsaus
- Edellinen sivu switch-lause
- Seuraava sivu arguments-objekti
Mitä funktio on?
Funktio on joukko lauseita, jotka voidaan suorittaa milloin tahansa ja missä tahansa.
Funktio on ECMAScriptin ydin.
Funktio määritellään seuraavasti: avainsana function, funktion nimi, parametrien joukko ja sulkeiden sisällä oleva suoritettava koodi.
Funktion peruslauseke on tällainen:
function functionName(arg0, arg1, ... argN) { statements }
Esimerkiksi:
function sayHi(sName, sMessage) { alert("Hello " + sName + sMessage); }
Miten kutsua funktiota?
Funktio voidaan kutsua sen nimellä ja parametrien kanssa, jos on useita parametreja.
Jos haluat kutsua yllä olevaa funktiota, voit käyttää seuraavaa koodia:
sayHi("David", " Nice to meet you!")
Kutsuttuun funktioon sayHi() luodaan varoitusikkuna. VoitKokeile tätä esimerkkiä itse.
Miten funktio palauttaa arvon?
Funktio sayHi() ei palauta arvoa, mutta sitä ei tarvitse erityisesti ilmoittaa (kuten Java:ssa void-käytössä).
Vaikka funktio todella palauttaa arvon, sitä ei tarvitse ilmoittaa selvästi. Funktio tarvitsee vain return-operaattorin ja halutun palautettavan arvon.
function sum(iNum1, iNum2) { return iNum1 + iNum2; }
Seuraava koodi asettaa sum-funktion palauttaman arvon muuttujaan:
var iResult = sum(1,1); alert(iResult); // Tulostaa "2"
Toinen tärkeä käsite on, että kuten Java:ssa, funktio lopettaa heti koodin suorittamisen, kun se on suorittanut return-lauseen. Siksi return-lauseen jälkeen olevaa koodia ei suoriteta.
Esimerkiksi, seuraavassa koodissa alert-ikkuna ei näy:
function sum(iNum1, iNum2) { return iNum1 + iNum2; alert(iNum1 + iNum2); }
Funktiossa voi olla useita return-lauseita, kuten seuraavassa esimerkissä:
function diff(iNum1, iNum2) { if (iNum1 > iNum2) { return iNum1 - iNum2; } return iNum2 - iNum1; } }
Yllä oleva funktio palauttaa kahden luvun erotuksen. Tämä voidaan tehdä vain suuremman luvun vähentämällä pienemmästä luvusta, joten if-lauseella päätetään, mikä return-lause toteutetaan.
Jos funktio ei palauta arvoa, voit kutsua ilman parametreja olevaa return-operaattoria milloin tahansa poistua funktiosta.
Esimerkiksi:
function sayHi(sMessage) { if (sMessage == "bye") { return; } alert(sMessage); }
Tässä koodissa, jos sMessage on arvo "bye", varoitusikkuna ei näy koskaan.
Huomautus:Jos funktio ei palauta arvoa selvästi tai kutsuu ilman parametreja olevaa return-lauseketta, se todella palauttaa arvon undefined.
- Edellinen sivu switch-lause
- Seuraava sivu arguments-objekti