【发布时间】:2011-02-14 22:23:26
【问题描述】:
Spider-Monkey JavaScript 引擎为 JavaScript 对象实现 __noSuchMethod__ 回调函数。
每当 JavaScript 尝试执行对象的未定义方法时,都会调用此函数。
我想为一个对象设置一个回调函数,每当访问或分配对象中未定义的属性时,该函数就会被调用。
我还没有找到为 JavaScript 对象实现的 __noSuchProperty__ 函数,如果有任何解决方法可以达到相同的结果,我很好奇。
考虑以下代码:
var a = {};
a.__defineGetter__("bla", function(){alert(1);return 2;});
alert(a.bla);
它等同于[alert(1);alert(2)] - 即使 a.bla 未定义。
我想获得相同的结果,但属性未知(即事先不知道 a."bla" 将是访问的属性)
【问题讨论】:
标签: javascript language-features