【金秋打卡】第18天 从函数到函数式编程之路
标签:
JavaScript
课程名称:破解JavaScript高级玩法
课程章节:第7章 如果不用vue,react框架,如何操作DOM?
主讲老师:Cloud
课程内容:
今天学习的内容包括:
7-9 3行,6行,8行代码实现订阅发布中心——订阅消息分发原生处理。
7-10 综合训练——尝试实现相关问题。
课程收获:
订阅发布中心
- 是什么: 是一种消息通知机制,也是一种发布订阅模式的的实际应用
- 应用场景:公众号消息,短信提醒等等
- 前端四大手写题之一
最基础的订阅发布中心
- on:订阅
- once:订阅,但仅仅接受─次通知
- off:取消订阅
- emit:派发事件,通知订阅者
原理浅析
- window是表象,根源是 EventTarget
- document和元素节点也是继承于EventTarget
- XMLHttpRequest, WebSocket也继承于EventTarget
EventTarget
- 构造函数:EventTarget() - 创建一个新的EventTarget对象实例
- 方法
– EventTarget.addEventListener():在EventTarget上注册特定事件类型的事件处理程序。
– EventTarget.removeEventListener():EventTarget中删除事件侦听器。
– EventTarget.dispatchEvent():将事件分派到此EventTarget。
3行版本存在的问题
- 不能多实例化啊
- 挂载window上太丑了
- 不能传递多参数啊
- 参数从ev.detail上获取,不合理
- 不能在nodejs中使用啊
- …
6行代码版本存在的问题
- ev.detail上获取参数
- 不能传递多个参数
核心知识点
- EventTarget
- CustomEvent
- 分组运算符
- 高阶函数
今天 学习了 3行,6行,8行代码实现订阅发布中心。了解了底层如何实现emits消息分发,虽然我不怎么懂,但是体会了技术的魅力。对自己说一句,加油😀~
坚持打卡,坚持学习!明天见💪~
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦