ActionScripti õppematerjal

Muutujad ja nende kasutamine ActionScriptis

Tagasi sirvima

Muutuja kasutuselevõtmisel tuleb see esmalt deklareerida. Muutuja deklareeritakse skripti koodis kujul

var muutujanimi:andmetüüp;

Muutuja nime võib ise valida kuid soovitav oleks järgida mõningaid reegleid:

Tähele tasub panna, et muutujanimed (nagu ka funktsioonide jm nimed) on ActionScriptis tõstutundlikud (case sensitive). Niimoodi ei ole eesnimi ja EesNimi üks ja seesama.

Muutujatele nime andmisel võib lähtuda mõnest üldtuntud kontseptsioonist, üheks selliseks on Ungari notatsioon.

Ungari notatsiooniks kutsutakse sellist muutujatele nimede andmise kontseptsiooni, kus muutuja nime algus näitab ära tema tüübi. Suuremate ja keerukamate projektide juures, eriti juhul, kui üht programmi arendab mitu inimest ja suhteliselt sarnaste nimedega muutujaid on lähtekoodis palju, on see sageli suureks abiks.

Ungari notatsioon ActionScriptis
PrefiksAndmetüüpSelgitus
aArraymassiiv
bBooleanloogikamuutuja
btButtonnupp
cColorvärv
camCamera-
cmContextMenukontekstimenüü
cmiContextMenuItemkontekstimenüü punkt
dDatekuupäev
lcLocalConnectionlokaalühendus
lvLoadVarsLoadVars klass
mcMovieClip-
mclMovieClipLoader-
micMicrophone-
nNumber-
ncNetConnectionvõrguühendus
nsNetStreamvõrguvoog
oObject-
pjPrintJob-
rsRecordSet-
sString-
sndSound-
soSharedObjectjagatud objekt
tTextField-
tfTextFormat-
vidVideo-
xmlXML-
xmlsXMLSocket-

Niimoodi võib millegi kogust näitava muutuja nime defineerida nKogus (või nQuantity), kasutaja eesnime hoidvat muutujat aga sEesNimi (sFirstName), vastavalt sellele, et kogus on arvuline väärtus, eesnimi aga sõne (string). Siinkohal tasub tähele panna, et Ungari notatsiooni kasutamine annab muutujate tüübi kohta selgust inimesele, küll aga mitte ActionScriptile.

Andmetüübid

ActionScript'is kasutusel olevad andmetüübid
AndmetüüpSelgitus
BooleanLoogikamuutuja, mille väärtuseks saab olla true (tõene) või false (väär), vastavalt 1 või 0. Deklareeritud, kuid algväärtustamata muutuja väärtuseks on false.
MovieClipVõimaldab kontrollida filmiklipi sümboleid, kasutades selleks MovieClip-klassi meetodeid. Järgnev näide kutsub välja startDrag() meetodi laval asuvale filmiklipile minu_film:
minu_film.startDrag(true);
MovieClip meetodid kutsutakse välja, kasutades operaatorina punkti (.).
nullTõlkes „tühimärk”. Saab kasutada väärtusena märkimaks, et muutuja eksisteerib, kuid ei oma (veel/enam) väärtust. Funktsiooni väärtusena näitab see, et funktsiooni poolt pole võimalik ühtki väärtust tagastada. Funktsiooni parameetrina, et parameetri andmine on vahele jäetud. Mitte segi ajada arvuga 0, mis iseenesest on väärtus!
NumberTäis- ja ujukomaarvude tähistamiseks.
ObjectObject-klassi poolt defineeritud andmetüüp.
StringString e. sõne on tähemärkide jada. Sõned tuleb panna jutumärkide (") või ülakomade (') vahele.
VoidVoid andmetüüp kasutab ainult üht väärtust: void. Seda andmetüüpi võib kasutada nende funktsioonide tähistamiseks, mis ei väljasta mingit väärtust.

Andmetüüpide määramine

Kui jätta muutuja andmetüüp täpsustamata, püüab Flash muutujale antud väärtuse järgi andmetüübi ise paika panna. Järgnevas koodireas antakse muutuja x väärtuseks 3, ilma etteantud andmetüübita kohtleb Flash seda kui numbrit:

var x = 3;

Kuna muutuja x andmetüüp polnud deklaleeritud, võib Flash sellele ükskõik millise andmetüübi omistada. Hilisem muutuja väärtuse muutus võib seega muuta ka selle tüüpi, näiteks kui muutuja x saab väärtuseks x = "tere", muutub muutuja andmetüüp stringiks. ActionScript teisendab primitiivseid andmetüüpe (Boolean, Number, String, null või undefined) automaatselt, kui kood seda nõuab ning andmetüüp pole täpselt määratud.

Tähele tasuks panna ka järgmist olukorda:

var tekst:String = "abc";
tekst = 12;

ActionScript 2.0 annab kompileerimisel veateate, kuna sõne-tüüpi muutujale soovitakse omistada numbrilist väärtust. Lahenduseks tuleks paigutada 12 jutumärkide vahele. Tõsi küll, numbrilisi arvutusi sõnega siiski teha ei saa.

Tagasi sirvima