题解
001 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么? key 的作用就是更新组件时判断两个节点是否相同。相同就复用,不相同就重新创建。以避免“原地复用”带来的副作用。 002 函数节流和函数防抖? 函数节流(throttle)与函数防抖(debounce)核心思想都是通过限制函数调用来实现性能优化,但两者概念却有不同…
常用 DOM 方法比较
innerText 对比 textContent 总结如下: innerText 获取的文字的换行符依然保留; innerText 无法获取隐藏文字; innerText 性能要相对差一些; innerText 由于存在诸多特别的特性、以及兼容性差异,以及性能方面问题,以及实际开发的需求的考量,不推荐使用,推荐使用 textContent 获取文本…
优雅实现 BackTop
BackTop 即滚动到页面顶部,是很多网站都会用到的基础功能,实现方法很多,Github 上也有许多优秀的三方库,如 smooth-scroll,但如何优雅实现也是一门学问。 事件绑定和解绑 滚动到页面顶部的按钮一般位于页面角落,并且只有在需要的时候才显示出来。所以首先需要监听页面滚动事件,直到滚动到一定距离后显示 BackTop 按钮。 监听页…
WebSocket 心跳重连机制
WebSocket 是一种网络通信协议,它使得客户端和服务器之间的数据交换变得更加简单。最近在项目中使用 WebSocket 实现了一个简单在线聊天室功能,在此探究下心跳重连的机制。 WebSocket WebSocket 允许服务端主动向客户端推送数据。之前很多网站为了实现推送技术,采用的技术都是轮询,不仅效率低,也浪费了很多带宽等资源。HTML…
Crunchbits 评测
前言 Crunchbits,这是一家 2021 年 11 月 30 日成立的美国主机商,主营 NVMe KVM VPS、EPYC 高频 NVMe VPS、锐龙 5950X NVMe KVM VPS、大硬盘存储 VPS、GPU 显卡服务器和独立服务器,数据中心位于美国 爱达荷州。 前言 Crunchbits,这是一家 2021 年 11 月 30 日…
什么值得买-持续更新ing(自用机场推荐)
YToo(主力机场) 官网连接(含AFF) 个人感觉是一线顶级机场,比较稳定,价格也比较合适,有低倍率节点。 SSR、SS、Trojan 三协议,支持 clash。不建议用户自己转换订阅,采用第三方的订阅转换有泄露订阅的风险。 年付不是 12 个月的价格,36 元的月套餐年付是 372 元,配合 0.2 倍率节点使用性价比超高,每月 1000G 流…