继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

风吹尘
关注TA
已关注
手记 61
粉丝 9
获赞 1

课程名称:破解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消息分发,虽然我不怎么懂,但是体会了技术的魅力。对自己说一句,加油😀~

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


http://img4.mukewang.com/636c578c0001467723251432.jpg

http://img4.mukewang.com/636c57a100014fdd23121419.jpg

http://img2.mukewang.com/636c58ed0001014a23271412.jpg

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP