- vue通信方式
-
手写事件总线(发布——订阅)
class EventEmitter { constructor() { // 事件对象,存放订阅的名字和事件 this.events = {}; } // 订阅事件的方法 on(eventName,callback) { if (!this.events[eventName]) { // 注意数据,一个名字可以订阅多个事件函数 this.events[eventName] = [callback]; } else { // 存在则push到指定数组的尾部保存 this.events[eventName].push(callback) } } // 触发事件的方法 emit(eventName) { // 遍历执行所有订阅的事件 this.events[eventName] && this.events[eventName].forEach(cb => cb()); } }
- 手写vue2双向绑定
- 手写观察者模式
- 简介装饰者模式
-
观察者模式和发布/订阅模式区别
- vue参数获取(www.baidu.com/?a=123,www.baidu.com/detail/123)
- react hooks
- Typescript 泛型 书写一个泛型函数,入参共两个,分别为指定 object
- 重绘与回流(display: none,visibility: hidden)
- http缓存,浏览器缓存
- 程序阅读
-
setTimeout(_ => console.log(1)) new Promise(resolve => { resolve() console.log(2) }).then(_ => { setTimeout(_ => console.log(3)) console.log(4) Promise.resolve().then(_ => { console.log(5) }).then(_ => { Promise.resolve().then(_ => { console.log(6) }) }) }) console.log(7)
全部评论
(2) 回帖