观察一个对象是否已经改变

每当一个对象发生变化时,是否可以执行一些代码?

var a = {x: 12, y: 63}; a.watch(function () { console.log('The object has changed!'); }); ax = 16; // The object has changed! ay = 1; // The object has changed! 

它似乎只在Firefox上可用: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch

在JavaScript / node.js中如何实现这一点? (如果可能,不使用getter / setter方法)

您可以使用对象观察 …它是实验性的,请谨慎行事

 var obj = { foo: 0, bar: 1 }; Object.observe(obj, function(changes) { console.log(changes); }); obj.baz = 2;