【发布时间】:2012-10-01 18:02:13
【问题描述】:
var obj = {};
obj.a = 1; // fire event, property "a" added
这个问题与this one 不同,后者正在讨论检测已声明属性何时更改的方法。
【问题讨论】:
-
当前的 ECMAScript 标准中没有任何内容,但下一个标准可能会实现一个名为
Proxy的功能,该功能将提供此功能。 Firefox 已经实现了这一点。 -
相关:Object.watch - 仅适用于选定的属性
-
@Bergi:两篇文章都提到了检测已经声明的给定 JavaScript 对象的属性更改的方法。已接受答案的库(Watch.js 或较新的 MultiGetSet.js)允许您通过仅调用一种方法来查看 JavaScript 对象的属性(因此在这里很方便),但此库不考虑“当您添加此对象的新属性和/或更改它,观察者将不会被调用”(取自 Watch.js gist)。我想检测何时将新属性添加到 JavaScript 对象(检测新属性的值变化是第二个)。
-
@Scholle: 不,my answer 在副本上处理检测对象上的任何属性更改
标签: javascript