知道何时使用数组表示法将属性设置为对象
Know when a property has been set to an object using array notation
我有一个对象,它被用作哈希表,用于在javascript:中存储键值对
Storage["key"] = "value".
我发现我们可以使用defineSeter为每个键设置setter,但是,我们需要事先知道所有的键名。当一个值以这种方式设置时,有没有一种方法可以做某事?
例如,在执行以下操作时:
Storage["key"] = "value";
我想用一种自定义的方法来处理它,比如:
customMethod : function(aKey, aValue) {
//do something with these two params
// inform somebody else about this.
}
想法/建议?
不,目前还没有办法捕获所有属性分配。Firefox4引入了一个实验性的JavaScript代理API,它可以让你做到这一点(让一个代理转发所有对内部对象的调用,但在设置属性时也会触发一些额外的操作(,但它在这里可能是杀鸡用牛刀-即使这个API是稳定的,并在其他浏览器中实现。
您可以覆盖对象的__defineSetter__
以获得更精细的控制。注意:不会在所有浏览器中工作!
有关更多详细信息,请参阅本文:John Resig:JavaScript Getters and Setters
相关文章:
- 将属性设置为未定义时未通知观察者
- 是否有任何内置方法可以更改JavaScript对象'的属性设置为某个值
- 附加'沙箱'属性设置为动态创建的iframe以停止重定向
- 如何将按钮的数据属性设置为输入[type=text]中设置的任何值
- 在jquery中,从同一对象的属性设置输入字段和标签的正确方法是什么
- 当可见属性设置为 false 时,使用 JavaScript 删除空格
- 无法使用 Snap.SVG将“填充”属性设置为“继承”
- 使用jQuery为属性设置新值
- 是否可以通过属性's值,并将属性设置为parentNode
- 如何使用按钮的jsp点击事件将属性设置为struts-bean
- 在ember.js记录上使用toJSON,将其中一个属性设置为null
- javascript函数属性设置器中的延迟
- 添加“;选中'属性设置为jquery中的复选框
- jQuery/JavaScript按属性设置数组
- Dojo.将JSon中的属性设置为HTML属性
- 将class属性设置为元素不适用于javascript和jquery
- 将属性设置为对对象的引用
- 如何将显示属性设置为与内联!重要的
- jQuery-根据HTML属性设置CSS维度
- 为什么我不能在 JavaScript 中将对象属性设置为空字符串