Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
_global.test = "global!";
_global.test = "test";
a = this.createEmptyMovieClip("testMC", 1);
a.test = "objekt!";
trace(a.test);
Original geschrieben von Geist
Bedeutet folgendes:
Der ActionScript-Interpreter sucht normalerweise nach einer Variablen, indem er eine bestimmte Kette (chain) von Objekten nach dortiger Existenz dieser Variablen durchschaut.
Dabei wird von der Sache her zunächst das betreffende Objekt selbst geprüft, ob es als eine Eigenschaft die besagte Variable beinhaltet, danach werden evtl. diverse andere Objekte gecheckt.
In einigen Fällen gelten Variablen nur in einem Objekt, in anderen Fällen haben sie ihren Gültigkeitsbereich auch außerhalb des Objektes.
Diese Eigenschaft, der Gültigkeitesbereich, ist das scoping von Variablen.
Spielt vor allem eine Rolle innerhalb von Funktionen, verschachtelten Funktionen und auch Objekten.
Beispielsweise setzt du mit der Einführung der globalen Variable "test" mit
PHP:_global.test = "global!";
einen globalen Gültigkeitsbereich für die Variabe fest.
Du kannst dadurch also von überall auf die Variable zugreifen, auch innerhalb eines beliebigen MovieClips eben.
Besitzt dieser MovieClip aber eine eigene Eigenschaft in Form der Variablen "test", dann liegt der Gültigkeitsbereich der objekteigenen Variable über dem der globalen Variable und folgendes Script bspw. wird dir im Ausgabefenster eben "objekt!" liefern und nicht "global!".
PHP:_global.test = "test"; a = this.createEmptyMovieClip("testMC", 1); a.test = "objekt!"; trace(a.test);
Diesen Weg des Interpreters, den er wählt, um sich durch diverse Gültigkeitsbereiche zu hangeln, nennt man den scope-chain.
Eine globale Variable setzen heißt also nicht zwangsläufig, dass die Variable überall den gleichen Wert besitzt, sondern dass für den Fall, dass der Interpreter nach langer vergeblicher Suche auch schlußendlich auf das _global-Objekt trifft, er dort mindestens immer die benötigte Variable findet, sollte sie nicht unterwegs auf der Suche im scope-chain gefunden worden sein.
hth,
Geist
bu1.onRelease = function() {
_global.i = 5;
}
bu1.onRelease = function() {
i = 5;
}