发布订阅者的实现

发布者-订阅者模式又称观
察者模式:当一个对象(发布者)状态发生改变时,所有依赖它的对象(订阅者)都会得到通知。
该模式广泛应用在异步编程中:我们无需关注对象在异步运行期间的内部状态,只需要订阅感兴趣的事件发生点。
简单说就是该模式让发布者和订阅者两个对象弱耦合,虽然不太清楚彼此的细节但是不影响彼此通信。
思路:
- 搞一个类, 类里一个属性cache用来储存依赖对应的函数
- 类实现 emit on off once方法
代码:
1 | class EventEimtter { |
实现一个json.parse
原理: 借用 eval 函数来完成
eval函数 接受一个字符串 并把字符串当作javascript函数来执行
代码:
1 | var obj = { |
把一个dom树转化为json格式的数据
思路: 递归调用
代码:
1 | <div> |
1 | // 将上面的Dom转化为json 递归 |
把json格式的数据转化为DOM树
1 | // 将上面生成的josn转化为dom树 |