Hallo,
kann man an eine Member-Variable ein onchange Event hängen, sodass eine Funktion ausgeführt wird, wenn sich die Variable ändert. Ich vermute jedoch, die Antwort ist nein.
ECMAScript 5 kennt Getter und Setter:
http://www.peterkroener.de/ecmascript-5-die-nachste-version-von-javascript-teil-3-property-descriptors-getter-und-setter-funktionen/
http://molily.de/weblog/ecmascript5#property-descriptors-2Ältere Browser unterstützen z.T. andere Syntaxen für Getter und Setter (defineSetter bzw. die mit ES5 ebenfalls standardisierte get/set in Object-Literalen). Dennoch lassen sich nicht alle Browser abdecken, der Internet Explorer < 9 kennt diese Schreibweisen nicht.
Wie schon immer kannst du natürlich eigene Setter-Methoden anstatt von Eigenschaften verwenden, also eine Methode namens setFoo statt bloß eine Eigenschaft foo. Zudem kannst du dir ein Event-Listening bauen, sodass du Handler-Funktionen für das Ereignis der Änderung registrieren kannst. Beim Aufruf der Funktion kannst du die Handler dann auslösen. Mit ES5-Settern ist das natürlich noch einfacher.
Vielen Dank für die Links - muss mir ein wenig Zeit nehmen, um die (für mich) neuen Konzepte zu "verdauen".
Demnach könnte ich eine Funktion statt der Eigenschaft inCurrentValue vorsehen, die dann inCurrentValue setzt und zusätzlich noch andere Aufgaben übernimmt.
Wie weiss nur diese Funktion möglichst einfach, an welche Objekte die Werte zum Weitergeben sind? Abgesehen von der fehleranfälligen Möglichkeit, die Objektnamen als Parameter zu übergeben?
Oder bin ich auf dem falschen Weg....?