Wie macht man deklarieren Sie eine Globale variable in actionscript
ich erwarten, dass einige den Sarkasmus, aber was solls. ich habe gesucht die actionscript-Referenz-Seite und kann nicht scheinen, um herauszufinden, wie Sie deklarieren eine einfache Globale variable.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein paar gute Antworten bereits. Ich möchte nur darauf hinweisen, dass
YOU CAN
erstellen Sie Globale Variablen in AS3. Erstellen Sie einfach eine Datei, zum Beispiel, MyGlobal.wie in der Wurzel der Klassen-Ordner:Ist und Sie darauf zugreifen können, als
MyGlobal
denn es ist in den meisten top-Paket. Diese Technik kann verwendet werden, in mehrere nicht so destruktiv. Beispielsweise können Sie eine Globale Konstante, die ähnlich wie ein singleton, aber anstatt konstant, es wird nur eine Instanz einer Klasse:Update; nicht von den original-poster
Ich hatte noch nie davon gehört, bevor ich zusammen eine schnelle Probe:
In die Wurzel-directory:
Einer test-Klasse:
Und die test-Anwendung:
Führen Sie die Anwendung, und die Ablaufverfolgung wird in der Tat zeigen sich zweimal mit der richtigen 'bla' Wert.
Gibt es keine globalen Variablen in as3. Aber statische Variablen kann zugegriffen werden, ohne eine Instanz der Klasse, also Sie können verwendet werden als Globale Variablen.
Dann, wo jeder in Ihrem Programm haben Sie Zugriff auf die variable myStaticVar wie folgt:
Global zu, was?
Wenn Sie möchten, deklarieren Sie eine variable "global", um eine Klasse, können Sie einfach eine beliebige variable:
Diese variable wird überall zugänglich sein, wo innerhalb der Klasse; und weil ich es öffentlich ist es auch für alle Klassen, die den Zugriff auf eine Instanz der Klasse. Sie würden es so:
Wenn Sie möchten, deklarieren Sie eine variable "global", um eine Flex-Anwendung, können Sie eine variable deklarieren, die in der Hauptanwendungsdatei:
Können Sie auf diesen Wert zugreifen überall in Ihrem code mit der FlexGlobals.topLevelApplication. So etwas wie dieses:
Einen Ansatz wie dieser ist in der Regel als eine Kapselung no-Nein; denn es gibt Ihrer Klassen eine Abhängigkeit der Haupt-Anwendung die Datei und minimiert den re-use. Das ist generell etwas, was wir versuchen zu vermeiden.
Können Sie eine statische variable und greifen Sie überall mit der Klasse. Statische Variablen sind nicht gebunden an eine Instanz der Klasse:
Würden Sie wie diese:
Könnte man auch erstellen einer Singleton-Klasse mit den globalen Variablen und den Rahmen, wie Swiz oder RobotLegs zu injizieren, dass die Klasse in den Klassen, die es benötigen. Eine schnelle google-Suche zeigen, sollten Sie Informationen über das erstellen von Singletons in Flex; und es gibt viel Diskussion für und gegen die Singletons in den Rahmen des größeren Programmier-community..
Innerhalb einer Methode Schließung der keyword -
this
liefert eine Referenz auf die 'global' - Objekt ein.Unten sind ein paar interessante Ergebnisse bei der Inspektion von
this
von innerhalb einer Methode Schließung.