Hallo,
Auch der Rest erscheint mir umständlich.
Eval
sollte man immer vermeiden.Bitte um Info, warum eval böse ist...?
Den Spruch scheinst du ja zu kennen. Dazu gibt's auch massenhaft Info.
Und Musst du unbedingt einzelne Variablen var1, var2 etc. haben? Warum nicht einfach ein Array mit den Objekten drin? Du hast ja schon eins, aber am falschen Ort.
Muss sein. Die einzelnen Bits können dann später total unterschiedliche Darstellungen haben und ich erachte es derzeit für viel einfacher, die Sache so handzuhaben.
Was ist daran einfach? Nichtssagende Variablennamen erfinden und als Strings an Eval
übergeben, nur um wieder an den Inhalt der Variablen zu kommen ist alles andere als einfach.
Ein weiteres Argument ist: ich brauche nicht immer alle 16 Bits, es könnte sein, dass manchmal nur ein einziges Bit benötigt wird (Hintergrund: ich bau gerade ein kleines SCADA oder kleine Visualisierung für SPSn so zum Spass)
Das ist doch kein Argument für einzelne benannte Variablen statt eines Arrays. Mit z.B. der Zuweisung
bitObjects[bitNr] = new bitObject(parameter);
Hast du dein passendes Bit-Objekt erzeugt und kannst jederzeit mit bitObjects[bitNr] darauf zugreifen, statt über etwas wie Eval("varX");
.
So bekommst du x Objekte, alle mit einem aObservers-Array, einer attach-Methode usw., die du aber scheint's gar nicht verwenden willst.
Ich habe auch überlegt, zwei verschiedene Objekte (Observer und Subjekt) zu erstellen, die von einem gemeinsamen Objekt die Gemeinsamkeiten erben könnten -> kann derzeit noch die Nachteile gegenüber den Vorteilen nicht abschätzen (bez. Codegröße, Geschwindigkeit, Speicherverbrauch, etc., etc.)
Vererbung hat in JavaScript keine Nachteile bezgl. Codegröße, Geschwindigkeit, Speicherverbrauch, etc., ganz im Gegenteil.
Überlege dir, was die einzelnen Bit-Objekte wirklich enthalten bzw. tun sollen und erzeuge genau solche Objekte dann.
Diese Bit-Objekte speicherst du wie gesagt in einem Array (einfach über den Index zuzugreifen statt über einen Eval
uierten Namen) und deklarierst noch eine Funktion, die das Array durchläuft und alles Notwendige mit ihnen anstellt.
Gruß, Don P