Object.observe 和 Object.watch 有什么区别
What is the difference between Object.observe and Object.watch
Object.watch: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch
对象观察:http://wiki.ecmascript.org/doku.php?id=harmony:observe
他们似乎都在高层次上做同样的事情。它们之间的显着区别是什么?
有很多不同之处。
微任务与同步回调
一个区别是,当您进入消息循环时,Object.observe
会进行回调。 即,对对象的许多更改会导致包含所有更改的单个回调,而不是多个回调。
当监听DOM上的变化时,出于同样的原因,突变事件被突变观察者取代。microtask
解决方案的性能比同步回调更高。
与非标准
此外,Object.observe
是 Ecmascript 7 建议的 Ecmascript 标准,即它是一个提议的 Javascript 标准。
意图
Object.observe 旨在作为一种高性能的方式来监视对整个对象的更改,并且用例预计需要侦听许多对象。这是绑定框架(即客户端模板)的要求,例如AngularJs和Polymer。Object.watch更像是Firefox的功能,用于监视特定属性,并且源于调试器功能。
相关文章:
- 什么是“;原型;通过JavaScript中的Object Literal Notation创建的对象的链接
- 在 api 文档中 socket.io“Server(srv:http#Server, opts:Object)”是什么
- “Object.assign()”polyfill中“Object(target)”的用途是什么
- 什么是JavaScript对象.event=object.event=function()
- Object.defineProperty的主要用例是什么
- Object.observe 和 Object.watch 有什么区别
- x 不是一个函数.你期望 Object.create 用构造函数做什么
- JavaScript:什么是 NaN、Object 或 Primitive
- 使用 Object.create() 和 Object.assign() 创建对象有什么区别?
- “Object.call”是什么意思
- 什么类型的对象在控制台中显示为[object Text]
- 使用Object.assign和class/extends有什么区别
- Object.protype.toString()的目的是什么
- 从什么时候开始 null.toString() 返回 [object Null]
- '的语义是什么;this.object.position'在Three.JS's轨迹球
- scalajs作用域中的object和js中的*same* object有什么区别?全球范围
- 扩展Object.prototype的缺陷是什么?
- 什么's相当于Javascript's C#中的Object.assign()
- Object.create(BaseObject)和util的区别是什么?继承(MyObject BaseObject)
- 使用Object.assign创建对象背后的思想是什么?