摘要: 三次握手: 1. 第一次握手: 客户端发送请求建立连接, 请求报文段 2. 第二次握手: 服务器收到请求, 发送同意并请求与客户端建立连接 3. 第三次握手: 客户端收到请求, 发送同意与服务器建立连接 四次挥手: 1. 第一次分手: 客户端发送断开请求 2. 第二次分手: 服务器收到断开请求, 发 阅读全文
posted @ 2022-06-30 15:42 有肌肉的小眼睛 阅读(30) 评论(0) 推荐(0) 编辑
摘要: var arr = ['a','ab','abc','ab','ab','a','c','f','c']var b = []var a = arr.reduce((obj,item)=>{ if(obj[item]){ obj[item] += 1 }else{ obj[item] = 1 } re 阅读全文
posted @ 2022-05-05 12:05 有肌肉的小眼睛 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 本文主要总结一下webpack里面关于path、publicPath和contentBase的区别及用法。 output里面的path表示的是output目录对应的一个绝对路径。 output里面的publicPath表示的是打包生成的index.html文件里面引用资源的前缀 devServer里 阅读全文
posted @ 2022-04-18 15:47 有肌肉的小眼睛 阅读(65) 评论(0) 推荐(0) 编辑
摘要: <script> // 发布者-目标 class Dep { constructor () { // 记录所有的订阅者 this.subs = [] } // 添加订阅者 addSub (sub) { if (sub && sub.update) { this.subs.push(sub) } } 阅读全文
posted @ 2022-04-18 10:45 有肌肉的小眼睛 阅读(16) 评论(0) 推荐(0) 编辑
摘要: <script> // 事件触发器 class EventEmitter { constructor () { // { 'click': [fn1, fn2], 'change': [fn] } this.subs = Object.create(null) } // 注册事件 $on (even 阅读全文
posted @ 2022-04-18 10:42 有肌肉的小眼睛 阅读(14) 评论(0) 推荐(0) 编辑
摘要: npm install 本身就有一个别名 npm i npm i module_name -S 即 npm install module_name --save 写入dependencies,发布到生产环境 npm i module_name -D 即 npm install module_name 阅读全文
posted @ 2022-03-07 13:49 有肌肉的小眼睛 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 强制缓存 1、Expires HTTP/1.0 中可以使用响应头部字段 Expires 来设置缓存时间,它对应一个未来的时间戳。客户端第一次请求时,服务端会在响应头部添加 Expires 字段。当浏览器再次发送请求时,先会对比当前时间和 Expires 对应的时间,如果当前时间早于 Expires 阅读全文
posted @ 2022-03-04 17:36 有肌肉的小眼睛 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 1991 年 HTTP/0.9 该协议的作用是传输超文本内容 HTML 1996 年 HTTP/1.0 随着互联网的发展以及浏览器的出现,单纯的文本内容已经无法满足用户需求了,浏览器希望通过 HTTP 来传输脚本、样式、图片、音频和视频等不同类型的文件。 其中最核心的改变是增加了头部设定,头部内容以 阅读全文
posted @ 2022-03-04 16:25 有肌肉的小眼睛 阅读(158) 评论(0) 推荐(0) 编辑
摘要: ## 描述引用计数的工作原理和优缺点 引用计数算法的原理是设置一个引用数,判断当前引用数是否是 0。 代码中有一个对象空间,多了一个变量名指向它,引用计数器就为它的引用数 + 1,减 b 少一个引用引用计数器就为它的引用数 - 1, 一旦引用数变为 0, 该对象空间就会被认为是垃圾,然后被回收。 引 阅读全文
posted @ 2022-03-04 16:00 有肌肉的小眼睛 阅读(80) 评论(0) 推荐(0) 编辑
摘要: // 代码2 const debounce = (func, wait = 0) => { let timeout = null let args function debounced (...arg) { args = arg if (timeout) { clearTimeout(timeout 阅读全文
posted @ 2022-03-03 18:04 有肌肉的小眼睛 阅读(67) 评论(0) 推荐(0) 编辑