正在检测Javascript对象中的更改

Detecting change in a Javascript Object

本文关键字:对象 检测 Javascript      更新时间:2023-12-01

我发现了这个要点来检测对象指定字段的更改:https://gist.github.com/3138469

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

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

2019更新:如今,使用代理API可以以更高效的方式实现这一点。on-change库在场景后面使用"代理API"使其更加容易。

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

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

这目前是不可能的,您只能为单个属性定义getter/setter。

然而,有一个Proxy对象的草案可以做到这一点。如今,它只在Firefox的Javascript 1.8.5中得到支持。

使用watch.js是不可能的。它只检测对象或对象属性的变化。它不会检测我们是向对象添加属性还是更改新添加的属性。。。