javascript - 使用数组表示法了解何时将属性设置为对象

标签 javascript arrays object setter

我有一个对象,用作哈希表来存储 JavaScript 中的键值对:

Storage["key"] = "value".

我发现我们可以使用defineSetter为每个键设置setter,但是,我们需要事先知道所有键的名称。每当以这种方式设置值时,是否有办法执行某些操作?

例如,在执行以下操作时:

Storage["key"] = "value";

我希望它由自定义方法处理,例如:

customMethod : function(aKey, aValue) {
  //do something with these two params
  // inform somebody else about this.
}

想法/建议?

最佳答案

不,目前没有办法捕获所有属性分配。 Firefox 4 引入了实验性 JavaScript Proxy API这将允许您执行此操作(让代理将所有调用转发到内部对象,但在设置属性时也会触发一些额外的操作),但这里可能有点矫枉过正 - 即使这个 API 是稳定的并且在其他浏览器中实现了。

关于javascript - 使用数组表示法了解何时将属性设置为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6552271/

相关文章:

javascript - 如何检查一个项目是否出现在数组中并重新选择新的项目(如果出现)?

c# - List<T> 中使用了哪种算法来动态分配内存?

java - 无法访问数组对象内子类中的数据

java - 创建许多对象会降低性能吗?

javascript - 以下两个代码的超快速和首选方式是什么?

javascript - Uploadify(jQuery 插件)不工作

javascript - 遍历对象的所有子对象和子对象

java - 将字符串转换为多维数组

javascript - 我可以只用一个字符串访问某些嵌套对象中的值吗?

javascript - 可以在类似于 css 的 html 文件中包含 `templates` 吗?