Spider-Monkey JavaScript引擎爲JavaScript對象實現__noSuchMethod__
回調函數。在JavaScript中捕獲對未定義屬性的訪問
只要JavaScript嘗試執行對象的未定義方法,就會調用此函數。
我想設置一個回調函數給一個對象,當對象中的一個未定義的屬性被訪問或分配給它時,這個對象將被調用。
我還沒有找到爲JavaScript對象實現的__noSuchProperty__
函數,我很好奇是否有任何解決方法可以實現相同的結果。
考慮下面的代碼:
var a = {};
a.__defineGetter__("bla", function(){alert(1);return 2;});
alert(a.bla);
它相當於[alert(1);alert(2)]
- 儘管a.bla是不確定的。
我想達到同樣的效果,但對未知屬性(即事先不知道一個。「BLA」將成爲訪問的屬性)
謝謝摩西。接受了這個答案,因爲它解決了原來的問題。 – avri 2012-11-26 07:33:43
這個答案沒有解決問題。你正在尋找的功能被稱爲['代理',它不會很快實施](http://stackoverflow.com/q/6429521/1269037)。 – 2014-02-22 11:58:58