Javascript观察者模式

前言:重温 React.js 小书(http://huziketang.mangojuice.top/books/react/)的时候,发现「监控数据变化」要用「观察者模式」,但我没接触过这东西,所以特此记录。

什么是观察者模式?答:在数据发生改变时,对应的处理函数自动执行。函数自动观察数据对象,一旦对象有变化,函数就会自动执行。

参考《原生JavaScript实现观察者模式》(https://blog.csdn.net/lm278858445/article/details/78287492),注释了代码,如下:ES5:Object.defineProperty

关于「defineProperty」的详细解释,请参考(https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty)

ES6:使用set方法实现

ES6:使用Reflect和Proxy实现

关于 Reflect 和 Proxy 的用法,请参考(http://es6.ruanyifeng.com/#docs/proxy)和(http://es6.ruanyifeng.com/#docs/reflect)

小进进还没开通留言功能,觉得不错的话,点赞、转发朋友圈都是一种支持(●'◡'●)ノ

欢迎关注本公众号:

(完)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180821G1KXHJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券