Guten Morgen Michael et.al., das (Speicher-)Problem wird eher dadurch verursacht, eine Funktion innerhalb einer anderen zu deklarieren, weil dadurch alle lokalen Variablen der aeusseren Funktion mit der lokalen Funktion gespeichert werden. Vom OOP-Standpunkt her würde ich sagen, dass die Speicherung in einer Eigenschaft die sauberere Lösung darstellt. Aber wenn es darum geht, würde man sowieso nicht Objekte innerhalb eines anderen Objekts "deklarieren". Bewegt man sich also sauberkeitstechnisch eine Ebene tiefer, dann gibt es nichts dagegen einzuwenden. mfg r. ----- Original Message ----- From: "Michael Kneib" <listen@xxxxxxxxx> > 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? ------------------------------------------------------ Archiv : //www.freelists.org/archives/ascoders/ Optionen : //www.freelists.org/list/ascoders ------------------------------------------------------