[ascoders] Re: Frage zum Speicherort von Objekten AS 2.0
- From: Timo Stamm <t.stamm@xxxxxxxxxx>
- To: ascoders@xxxxxxxxxxxxx
- Date: Fri, 11 Feb 2005 19:52:29 +0100
Hallo Andreas.
Wo etwas gespeichert ist interessiert bei Actionscript garnicht. Du hast
ja eh keinen direkten Zugriff auf den Speicher.
Kleines Tutorial:
new foo();
Erzeugt Instanz von der Klasse foo. Damit kannst du aber nichts
anfangen, weil du dem Objekt keinen Namen gegeben hast.
f = new foo();
Jetzt weiss Actionscript dass der identifier f auf das neue Objekt
zeigt. Das nennt sich Referenz.
Wenn du jetzt
delete f;
machst, gibt es keine Referenz mehr auf das Objekt, und bei der nächsten
garbage collection wird sein Speicher freigegeben.
Wenn eine andere Referenz auf das Objekt besteht, wird es nicht
gelöscht. Beispiel:
f = new foo();
g = f;
delete f;
Die Variable g weist jetzt immer noch auf das neue Objekt.
Wichtig ist weiterhin die Unterscheidung von primitives/immutables und
objects. Weitere Infos siehe hier:
http://livedocs.macromedia.com/flash/mx2004/main_7_2/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Flash_MX_2004&file=00000786.html#416367
Das kannst du jetzt aber alles wieder vergessen, denn removeNode koppelt
den Knoten nur aus dem XML-Konstrukt aus. Das Objekt wird nicht entfernt.
cloneNode ist dafür da das Referenz-Problem zu Umgehen wenn du einen
Knoten in eine zweites XML-Objekt einfügen willst. Sonst würde nämlich
das ursprüngliche Objekt auch geändert wenn du am neuen Teil einen Node
änderst, der aus dem alten Objekt stammt.
Gruss,
Timo
Andreas Sedlmayer wrote:
Danke! aber das hab ich ja auch gemacht. Dass es den Klon nicht
braucht,
wußte ich nicht und da bin ich mir auch noch nicht ganz
sicher. Vor allem, weil die Frage immer noch ist: wo ist der
Klon, bzw. die Kopie gespeichert?
--------------------------------------------------------------
Archiv : //www.freelists.org/archives/ascoders/
RSS : //www.freelists.org/archives/ascoders/feed.rss
Optionen : //www.freelists.org/list/ascoders
--------------------------------------------------------------
Other related posts: