为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【金秋打卡】第18天 从函数到函数式编程之路

【金秋打卡】第18天 从函数到函数式编程之路

2022.11.10 10:15 37浏览

课程名称:破解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行版本存在的问题
  1. 不能多实例化啊
  2. 挂载window上太丑了
  3. 不能传递多参数啊
  4. 参数从ev.detail上获取,不合理
  5. 不能在nodejs中使用啊
6行代码版本存在的问题
  • ev.detail上获取参数
  • 不能传递多个参数
核心知识点
  • EventTarget
  • CustomEvent
  • 分组运算符
  • 高阶函数

今天 学习了 3行,6行,8行代码实现订阅发布中心。了解了底层如何实现emits消息分发,虽然我不怎么懂,但是体会了技术的魅力。对自己说一句,加油😀~

坚持打卡,坚持学习!明天见💪~


https://img4.sycdn.imooc.com/636c578c0001467723251432.jpg

https://img4.sycdn.imooc.com/636c57a100014fdd23121419.jpg

https://img2.sycdn.imooc.com/636c58ed0001014a23271412.jpg

点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
9
获赞与收藏
1

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

151篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消