javascript – Object.observe和Object.watch有什么区别

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

他们似乎都在高层做同样的事情.它们之间有什么显着差异?

最佳答案 有很多不同.

Microtasks vs同步回调

一个区别是Object.observe在您进入消息循环时进行回调.即对对象的许多更改会导致单个回调包含所有更改而不是多个回调.

当听取DOM的变化时,由于同样的原因,突变事件被突变观察者所取代.微任务解决方案比同步回调更具性能.

标准与非标准

此外,Object.observe是Ecmascript 7的建议Ecmascript标准.它是一个提议的Javascript标准.

意图

Object.observe旨在作为监视整个对象更改的高效方法,并且用例预计需要监听许多对象.这是绑定框架(即客户端模板)的要求,例如AngularJs和Polymer. Object.watch更像是一种用于监视特定属性的Firefox功能,它是从调试器功能中产生的.

点赞