- 主题:javascript能不能拦截object的属性访问
大概代码这样:
var obj = {};
hack(obj); //怎么弄?
obj.fish; //有值
如果有这个东西的话,做个RPC比较方便。
--
修改:hgoldfish FROM 27.154.195.*
FROM 27.154.195.*
你拦截的是Object类型还是obj这个对象?
前者用原型,后者直接obj.fish="xxx“赋值就行了。
【 在 hgoldfish 的大作中提到: 】
: 大概代码这样:
: var obj = {};
: hack(obj); //怎么弄?
: ...................
--
FROM 124.42.13.*
他要的效果是,obj.foo = xxx的时候触发obj.setFoo(xxx)
【 在 dhcn 的大作中提到: 】
: 你拦截的是Object类型还是obj这个对象?
: 前者用原型,后者直接obj.fish="xxx“赋值就行了。
--
FROM 211.144.202.*
dojo里面有stateful的接口 你可以上github搜搜类似的实现
【 在 hgoldfish 的大作中提到: 】
: 大概代码这样:
: var obj = {};
: hack(obj); //怎么弄?
: ...................
--
FROM 61.48.19.*
它哪儿写的是有值,不是赋值。
EC5开始支持getter、setter函数.具体看犀牛书第六版p132
【 在 Orpherus 的大作中提到: 】
: 他要的效果是,obj.foo = xxx的时候触发obj.setFoo(xxx)
:
--
FROM 124.42.13.*
在现有的规范下,只能每N毫秒做一个dirty check..angluarjs就是这么干的
如果是set/get就好办了
【 在 hgoldfish 的大作中提到: 】
: 大概代码这样:
: var obj = {};
: hack(obj); //怎么弄?
: ...................
--
FROM 61.48.19.*
看了一下。还是不符合要求。我想要的是
console.debug(p.fish);
在上面这条语句中转而执行
console.debug(p.__getattr__('fish'))
然后我就可以写一个
__getattr__: function(attrname){
return new SomeObject(attrname);
}
【 在 dhcn (小石) 的大作中提到: 】
: 它哪儿写的是有值,不是赋值。
: EC5开始支持getter、setter函数.具体看犀牛书第六版p132
--
FROM 27.154.195.*