Ich würde einen Wrapper empfehlen, der den geänderten Wert verarbeitet. Zum Beispiel können Sie eine JavaScript-Funktion haben, wie folgt:
function Variable(initVal, onChange)
{
this.val = initVal;
this.onChange = onChange;
this.GetValue = function()
{
return this.val;
}
this.SetValue = function(value)
{
this.val = value;
this.onChange();
}
}
Und dann können Sie daraus ein Objekt erstellen, das den Wert enthält, den Sie überwachen möchten, sowie eine Funktion, die aufgerufen wird, wenn der Wert geändert wird. Wenn Sie beispielsweise benachrichtigt werden möchten, wenn sich der Wert ändert und der Anfangswert 10 ist, schreiben Sie Code wie folgt:
var myVar = new Variable(10, function(){alert("Value changed!");});
Der Handler function(){alert("Value changed!");}
wird aufgerufen (wenn Sie sich den Code ansehen), wenn er SetValue()
aufgerufen wird.
Sie können Wert wie folgt erhalten:
alert(myVar.GetValue());
Sie können den Wert folgendermaßen einstellen:
myVar.SetValue(12);
Unmittelbar danach wird eine Warnung auf dem Bildschirm angezeigt. Sehen Sie, wie es funktioniert: http://jsfiddle.net/cDJsB/