我想定义一个Javascript对象的行为,当被引用的属性/方法不存在时,这些对象将会启动。 在Lua中,您可以使用metatables和__index & __newindex
方法来做到这一点。JavaScript原型有相当于Lua的__index&__newindex的东西吗?
--Lua code
o = setmetatable({},{__index=function(self,key)
print("tried to undefined key",key)
return nil
end
})
所以我想知道如果在JavaScript中有类似的东西。
我试图做到的,是一个通用的RPC接口,它的工作原理是这样的(不是有效的JavaScript):
所以function RPC(url)
{
this.url = url;
}
RPC.prototype.__index=function(methodname) //imagine that prototype.__index exists
{
AJAX.get(this.url+"?call="+ methodname);
}
var proxy = RPC("http://example.com/rpcinterface");
proxy.ServerMethodA(1,2,3);
proxy.ServerMethodB("abc");
我怎么能这样做呢?
这可以完成吗?
任何想法的人? – 2009-10-29 10:38:29