[ascoders] Speicherung von Referenz im Activation-Object

Guten Morgen die Damen (welche anwesend?) und Herren :)

wenn ich ein Object in einem Object habe und vom inneren Object auf das
Äussere zugreifen will, mache ich das ja in aller Regel über eine
Referenzvariable im Object:

//beispielscript----------------------------------
function MyClass ()
{
 this.obj = new Object ();
 this.obj.parent = this;  // hier die referenz
 this.obj.objMethod = function ()
 {
  this.parent.myMethod ("objMethod");
 };
}
MyClass.prototype.myMethod = function (arg)
{
 trace (arg + " ruft myMethod");
};
test = new MyClass ().obj.objMethod ();
//-------------------------------------------------


Das gleiche Ergebnis kann ich ja auch durch eine Speicherung der Referenz im
Activation-Object erreichen:

//beispielscript----------------------------------
function MyClass ()
{
 var parent = this;  // speicherung im activation-object
 this.obj = new Object ();
 this.obj.objMethod = function ()
 {
  parent.myMethod ("objMethod");
 };
}
MyClass.prototype.myMethod = function (arg)
{
 trace (arg + " ruft myMethod");
};
test = new MyClass ().obj.objMethod ();
//-------------------------------------------------


Welche Vor- und Nachteile haben diese zwei Wege im Vergleich?
Oder gibt es da eine grundsätzliche Empfehlung?

Die antworten bei den Flashcoders überfordern etwas
meine Englischkenntnisse. In der Muttersprache
versteht es sich leichter :)


gruss
michael


------------------------------------------------------
Archiv   : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------

Other related posts: