摘要: 一、送花代理演示 class Flower { constructor(price) { this.price = price; } } const boy = { name: 'jack', flower: new Flower(120), send(person) { person.receiv 阅读全文
posted @ 2019-06-19 16:45 shangyueyue 阅读(129) 评论(0) 推荐(0) 编辑
摘要: // 订阅发布模式 class EventEmitter { constructor() { this._events = {}; } on(name, callback) { if (this._events[name]) { this._events[name].push(callback); } else { this._eve... 阅读全文
posted @ 2019-06-19 16:28 shangyueyue 阅读(382) 评论(0) 推荐(0) 编辑
摘要: class Subject { constructor() { this.Observers = []; this.curnum = 1; this.subnum = 1; } sub(observer) { observer.pnum = this.subnum; this.Observers.push(observer); thi... 阅读全文
posted @ 2019-06-19 16:26 shangyueyue 阅读(146) 评论(0) 推荐(0) 编辑
摘要: http/1中的每个请求都会建立一个单独的连接,除了在每次建立连接过程中的三次握手之外,还存在TCP的慢启动导致的传输速度低。其实大部分的http请求传送的数据都很小,就导致每一次请求基本上都没有达到正常的传输速度。 在http1.1中默认开启keep-alive,解决了上面说到的问题,但是http 阅读全文
posted @ 2019-06-19 10:47 shangyueyue 阅读(5694) 评论(0) 推荐(0) 编辑
摘要: 一、宏任务 vs 微任务 1.macrotask setTimeOut 、 setInterval 、 setImmediate 、 I/O 、 各种callback、UI渲染等 优先级: 主代码块 > setImmediate > MessageChannel > setTimeOut/setIn 阅读全文
posted @ 2019-06-19 09:56 shangyueyue 阅读(361) 评论(0) 推荐(0) 编辑