Ich würde das FaderFramework Objekt mit new function() {...} erstellen, das hat den Vorteil, dass du in dem Konstruktor immer this bzw. deren Kopie verwenden kannst (falls du FaderFramework mal umbenennst, ist das hilfreich) und das du in der Funktion lokale Variabeln benutzen kannst.
Das ist jetzt genau der nächste Schritt, den ich bei meinem bisherigen Wissensstand zu objektorientierter Programmierung noch nicht gegangen bin. Die Formulierung "dass du in dem Konstruktor immer this bzw. deren Kopie verwenden kannst" habe ich deshalb noch nicht völlig begriffen. Meinst Du "this" außerhalb des Konstruktors "Fader" ist dann immernoch nicht das Gleiche, wie "this" innerhalb des Konstruktors "Fader"? Und verstehe ich Dich richtig, dass Du die Objektinstanziierung (heißt das so?) in einem "anonymen Konstruktor" vornimmst? Und wo genau meinst Du, ich könne "in der Funktion lokale Variablen benutzen"?
zu 1.) Ich meine damit, dass du überalll wo FaderFramework verwendest entweder this oder eine Referenz darauf verwenden kannst.
zu 2.) joh, kann man so nennen. das ist übrigens ein Entwurfsmuster ;-)
zu 3.) Hier mal ein code Beispiel mit einer privaten Variabel, Funktion und einer Referenz auf this, die du brauchst z.b. für die Eventhandler
var myObj = new function() {
var myPrivateVar = '';
var self = this; // Die Referenz auf this
function myPrivateFunc() {
/* ... */
}
};
Struppi.