前言:重温 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)
小进进还没开通留言功能,觉得不错的话,点赞、转发朋友圈都是一种支持(●'◡'●)ノ。
欢迎关注本公众号:
(完)
领取专属 10元无门槛券
私享最新 技术干货