1
我爲我們中的JavaScript開發者找到了一些東西。修改陣列時的Javascript通知
我得到了下面的類:
function MyClass(){
this.__defineSetter__("array", function(val){
alert("setter called");
this._array = val;
});
this.__defineGetter__("array", function(){
alert("getter called");
return this._array;
});
this._array = new Array();
};
現在,什麼情況是,當我執行
var a = new MyClass();
a.array[0] = "MyString";
alert(a.array[0]);
,吸氣叫兩次(這是好的),但從來沒有執行二傳手,因爲實際的數組引用不會改變,只有內容(我猜想是預期的行爲)。 但是,當數組內容被修改時,我還需要「通知」。因此,呼叫
a.array[0] = "MyString";
也應引起setter方法的調用(或類似的東西,重要的是當數組內容已更改,收到通知。
任何人進入這個?如何才能實現這一目標?