在一些javascript实现中有一个noSuchMethod功能(Rhino,SpiderMonkey)
proxy = {
__noSuchMethod__: function(methodName, args){
return "The " + methodName + " method isn't implemented yet. HINT: I accept cash and beer bribes" ;
},
realMethod: function(){
return "implemented" ;
}
}
js> proxy.realMethod()
implemented
js> proxy.newIPod()
The newIPod method isn't implemented yet. HINT: I accept cash and beer bribes
js>
Run Code Online (Sandbox Code Playgroud)
我想知道,有没有办法为房产做类似的事情?我想编写可以在属性和方法上分派的代理类.
使用内置javascript对象的简单示例:navigator.my_new_property ="some value"; //我们可以检测到这个新属性被添加了吗?
我不想经常轮询对象以检查新属性.是否有某种类型的更高级别的对象设置器而不是显式声明要监视的属性?
同样,我不想检测属性值是否更改,而是在添加新属性时.
想法?谢谢
var obj = {};
obj.a = 1; // fire event, property "a" added
Run Code Online (Sandbox Code Playgroud)
这个问题是从不同的这一个,当已声明属性更改其中的方法来检测,正在讨论之中。