![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 67
乐悠刘LL
无
展开
-
vue2源码阅读(二)--DIFF算法
vue2源码阅读(二)--DIFF算法原创 2023-02-16 10:59:34 · 303 阅读 · 0 评论 -
浅谈Web缓存
浏览器每次请求时,首先判断是否有缓存,若无缓存则向服务器发送请求,并将响应结果存至缓存。若有缓存,第一选择都是走强缓存——直接访问浏览器缓存,若缓存数据有效(评判指标:有效时间,依据:Expires或Cache-Control)则直接从缓存返回数据;若缓存数据无效,则走协商缓存(解决服务器端有资源更新的问题)。协商缓存的要点就是判断资源有无更新(依据:Last-Modified/If-Modified-Since,ETag/If-None-Match)。原创 2023-01-05 10:28:38 · 375 阅读 · 0 评论 -
WebSocket心跳重连机制
阅读本文章前请先了解WebSocket场景WebSocket在连接关闭的情况下会触发onclose事件,在链接异常的情况下会触发onerror事件。而在弱网条件下,onclose事件触发的灵敏度却不高,往往已经断网很久了才触发onclose事件,前端又去进行重连操作,对实时界面的展示不友好。所以,本文将介绍心跳重连机制来改善这一现象。解决方案心跳重连机制:前端在WS连接成功的情况下,开始执行心跳函数,首先向服务器端发送‘ping’信息,服务器内若收到信息则会返回’pong’信息。在一定时间内,前端收原创 2021-11-19 16:02:47 · 2817 阅读 · 0 评论 -
彻底弄清JavaScript中的this
为什么要用thisthis可以在同一个执行环境中使用不同的上下文对象。它其实提供了一种更加优雅的方式来隐式“传递”一个对象引用,因此可以使API设计的更加简洁且易于复用。this到底是谁this既不是自身也不是当前函数的作用域。我们可以通过代码来测试。判断是不是自身function fn(){ console.log(this.name)}fn.name = 'xxx'fn() //undefined判断是不是函数作用域function foo() { va原创 2020-12-10 13:47:56 · 109 阅读 · 0 评论