ActionScripti õppematerjal

Funktsioonid

Tagasi sirvima

Funktsioone võib võtta kui kokkugrupeeritud koodiridu, mis käivitatakse alles funktsiooni väljakutsumisel ning mis seejärel teostavad mingi kindlaksmääratud protseduuri.

Funktsioonidel on palju eeliseid struktureerimata programmeerimise ees, näiteks:

Funktsioonide loomine

Funktsiooni loomist nimetatakse ka funktsiooni defineerimiseks.

function funktsiooninimi():andmetüüp {
	koodiread
}

Funktsioonile nime andmisel tuleks järgida samu reegleid kui muutujate nimetamisel. Sarnaselt muutujatele on kasulik oma funktsioonile nimi anda selle järgi, mida see teeb. Anda funktsioonile nimeks mingiFunktsioon pole nii hea mõte, kui näiteks joonistaUusRing.

Funktsiooni nime järel peavad asetsema ümarsulud, niimoodi on funktsioonile võimalik lisada parameetreid. Hoolimata sellest, kas funktsioonile antakse parameetreid või mitte, on ümarsulud kohustuslikud. Parameetrite andmist funktsioonile käsitleme hiljem.

Viimasena tuleb defineerida funktsiooni andmetüüp, mis määrab ära, millist tüüpi andmeid funktsioon väljastab. Andmete väljastamist käsitleme hiljem. Kui funktsioon andmeid väljastama, kasutame andmetüüpi Void.

Näitena vaatame väga lihtsat funktsiooni:

function ytleTere():Void {
	trace("Tere!");
}

Funktsioon trace() väljastab teate Flashi väljundipaneelile. See on kasulik näiteks veaotsimisel, kui on tarvis teada, millal (või kas üldse) mõnda koodiosa läbitakse.

Funktsiooni väljakutsumine

Kui funktsiooni loomise osas kirjeldatud koodinäide tööle panna, ei toimuks justkui midagi, kuigi trace on koodis sees. Seda seetõttu, et funktsioon ytleTere() pole välja kutsutud.

Funktsiooni väljakutsumiseks tuleb kirjutada defineeritud funktsiooni nimi koos sellele järgnevate sulgudega. Järgnev koodirida defineerib funktsiooni ning kutsub selle seejärel välja:

function ytleTere():Void {
	trace("Tere!");
}
ytleTere();

Funktsioonile parameetrite andmine

Paljud funktsioonid vajavad ka parameetreid. Näiteks võiksime teha ytleTere() funktsiooni märksa huvitavamaks, kui muudaksime tervituse isikupärasemaks.

function ytleTere(sEesnimi:String):Void {
trace("Tere, " + sEesnimi + "!");
}

Kui selline funktsioon on defineeritud, saab seda välja kutsuda ning anda parameetrina erinevaid väärtusi, näiteks:

ytleTere("Mari");

väljastab:

Tere, Mari!

Funktsioonile saab anda korraga ka mitu parameetrit, sellisel juhul tuleb need eraldada komaga.

Tagasi sirvima