检测Javascript对象中的更改

时间:2012-07-20 11:26:17

标签: javascript events object detect watch

我找到了这个要点,以检测对象的指定fiel上的更改:https://gist.github.com/3138469

但它只在一个字段上绑定一个事件。

有人知道一个函数或技巧来检测整个Javascript对象的变化吗?

3 个答案:

答案 0 :(得分:16)

2019更新:这些天可以使用Proxy API以更有效的方式实现这一目标。 on-change library使用场景后面的Proxy API使这更容易。

2012更新:我刚刚注意到Watch.js的作者正在引用一个拥有更广泛浏览器支持的库。 MultiGetSet.JS

当我想要实现这一点时,我通常使用Watch.js,您可以观看整个对象或一个属性。

答案 1 :(得分:3)

目前无法做到这一点,您只能为各个属性定义getter / setter。

然而,有一个Proxy对象的草案可以做到这一点。今天,它只是supported in Firefox' Javascript 1.8.5

答案 2 :(得分:2)

使用watch.js无法做到这一点。它只是检测对象的变化或对象的属性。它DOESNT检测我们是否向对象添加属性或更改新添加的属性...