亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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

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

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


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

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

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

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消