Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-06-2004, 09:47   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 12
Question trace(_global == undefined) --> true

Wahrscheinlich die einfachste Frage der Welt:

Kann mir jemand sagen, warum der Vergleich zwischen dem _global Objekt und undefined "true" ausgibt ???

trace(_global == undefined);

--> true

Gruß, Kai
gripAG ist offline   Mit Zitat antworten
Alt 18-06-2004, 09:49   #2 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
weil _global undefiniert ist ?
nky ist offline   Mit Zitat antworten
Alt 18-06-2004, 09:51   #3 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
komisch !!!

selbst bei:

_global.vari = 1;
trace(_global == undefined);

kommt immer noch true raus.

aber mal abgesehen davon, die abfrage is ja eh bullshit oder brauchst du ersthaft so ein konstrukt ???

Geändert von maddin79 (18-06-2004 um 09:54 Uhr)
madflanderz ist offline   Mit Zitat antworten
Alt 18-06-2004, 09:55   #4 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

na _global ist eine eigenschaft...

du kannst nur nach einer variable die die eigenschaft _global besitzt abfragen...

PHP-Code:
 _global.meineVar="bla";
trace(_global.meineVar == undefined); 
gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 18-06-2004, 09:55   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 12
Na ich hab folgende Signatur:

Code:
blafoo = function(callback, scope) {
if (scope == undefined) this.scope = this; else this.scope = scope;
}
und als scope will ich nun _global übergeben, weil in _global ein handler definiert ist.

Und wieso is _global undefined ????

--> trace(_global);


Global ist und bleibt ein Objekt !!!

Geändert von gripAG (18-06-2004 um 09:58 Uhr)
gripAG ist offline   Mit Zitat antworten
Alt 18-06-2004, 09:59   #6 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
du musst doch global nicht übergeben..

wenn eine variable z.b so initialisiert wird..

_global.a=3


dann komsmt du von überall an " a " ran....wozu brauchst Du dann ne referenz auf _global ? reicht doch wenn du "a" schreibst..

Gruss nky
nky ist offline   Mit Zitat antworten
Alt 18-06-2004, 10:02   #7 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
jup...

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 18-06-2004, 10:06   #8 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 12
Ja ich verstehe was Du meinst, aaaaaber...
meine Funktion soll folgende Fälle unterscheiden:
1) scope definiert -> this.scope = scope;
2) scope undefiniert -> this.scope = this;
3) scope == _global

Der dritte Fall würde dann abgedeckt, wenn der Vergleich zwischen _global und undefined ein false ergeben würde, dann würde nämlich "this.scope = _global;" ausgeführt.

Irgendwann wird dann später die Methode
this.scope[this.callback]();
aufgerufen, vielleicht erklärt das ein wenig, warum ich mit so einer komischen Methode arbeite.

Was aber immer noch nicht die Frage klärt, warum _global ein Objekt ist aber gleichzeitig undefined sein kann.
Vergleich dazu:
trace(Selection); --> [Object][Object]
trace(Selection == undefined); --> false



Zitat:
Zitat von nky
du musst doch global nicht übergeben..

wenn eine variable z.b so initialisiert wird..

_global.a=3


dann komsmt du von überall an " a " ran....wozu brauchst Du dann ne referenz auf _global ? reicht doch wenn du "a" schreibst..

Gruss nky

Geändert von gripAG (18-06-2004 um 10:08 Uhr)
gripAG ist offline   Mit Zitat antworten
Alt 18-06-2004, 10:11   #9 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
jetzt weiß ich zwar was DU meinst - kann Dir aber leider überhaupt net weiter helfen .
Bin mal gespannt was die anderen noch dazu schreiben ....da ich deine scoping geschichte ganz interessant finde....

eigent sich ganz gut für kleine utility funktionen die man in verschiedenen projekten braucht....die kann man sich dann hinholen wo man will...
andererseites...würde ich vermutlich einfach ne abstarkte klasse machen - die methode reinpacken - und die klasse dann in dem scope wo ich Sie bruache instanzieren...
das wär (glaube ich) ein besserer weg...

BBOOKKELL ruf...

Gruss nky
nky ist offline   Mit Zitat antworten
Alt 18-06-2004, 10:13   #10 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 16
hallo auch...

Code:
trace(_global);
trace(Selection);
ergibt
Code:
[type Object]
[object Object]
am end hängts damit zusammen? irgendwo scheint ja da ein unterschied zu sein... ?!

schönen gruß,
foulpelzz
foulpelzz ist offline   Mit Zitat antworten
Alt 18-06-2004, 10:16   #11 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 12
Naja, ok. Man sollte _global vielleicht erst einmal instanziieren, bevor man damit arbeitet.
_global = new Object();

Allerdings finde ich das schon etwas merkwürdig, ich kann dem "Ding" Eigenschaften zuweisen obwohl es quasi noch nicht existent ist.

grrrrmpfffff


Ich korrigiere schon wieder:
_global = new Object(); ist erst recht bullshit... das zertört mir alle Komponenten, die irgendwie mit _global arbeiten.

Geändert von gripAG (18-06-2004 um 10:21 Uhr)
gripAG ist offline   Mit Zitat antworten
Alt 18-06-2004, 10:27   #12 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
ich würd sagen damit überschreist du das (undefinierte *fg) objekt...

jaja hört sich unlogisch an - aber mein nächster tipp wäre - das das objekt mit
ASPROPFLAGS irgendwie geschützt und versteckt wurde..

d.h es besteht - nur wir sehen es nicht -....wärend ich das so schreibe fällt mir aber ein - was bringt der schutz - wenn du es so einfach überschreiben kannst ??

sehr komisch
nky
nky ist offline   Mit Zitat antworten
Alt 18-06-2004, 10:33   #13 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 12
Ich sag Dir.... da ist irgendwo in der ganzen Geschichte ein dicker Denkfehler !
gripAG ist offline   Mit Zitat antworten
Alt 18-06-2004, 11:45   #14 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
_global ist halt ein besonderes Objekt
Vergleich doch den scope mit _global, dann weisst du auch, ob es _global ist.

mfg. r
bokel ist offline   Mit Zitat antworten
Alt 18-06-2004, 11:54   #15 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 12
Das ist aber eine zusätzliche Abfrage und das missfällt mir als alter Taktzyklenzähler.
Und überhaupt, das ist hier eine philosophische Frage, wie kann etwas nicht existent sein wenn es existiert ...
gripAG ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele