Object.watch:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch
Object.observe:http://wiki.ecmascript.org/doku.php?id=harmony:observe
他们似乎都在高层做同样的事情。他们之间有什么显着差异?
答案 0 :(得分:2)
有很多不同。
一个区别是Object.observe
在您进入消息循环时进行回调。即对对象的许多更改会导致单个回调包含所有更改而不是多个回调。
当听取DOM的变化时,由于同样的原因,突变事件被突变观察者取代。 microtask
解决方案比同步回调更具性能。
此外,Object.observe
是Ecmascript 7的建议Ecmascript标准。它是一个提议的Javascript标准。
Object.observe旨在作为监视整个对象更改的高效方法,并且用例预计需要监听许多对象。这是绑定框架(即客户端模板)的要求,例如AngularJs和Polymer。 Object.watch更像是一种用于监视特定属性的Firefox功能,并且是从调试器功能中生成的。