02 2025 档案
摘要:一、常用排序算法 快速排序 插入排序 归并排序 二、使用场景 排序算法适用场景时间复杂度(平均)时间复杂度(最坏)空间复杂度是否稳定 快速排序(Quick Sort) 大规模数据、随机数据、数组排序 O(n log n) O(n²)(选错 Pivot) O(log n)(原地排序) ❌ 不稳定 插入
阅读全文
摘要:1.JavaScript数据类型 基本类型:string、boolean、number、null、undefined、symbol(es6新添加),BigInt(es11新添加) 复杂数据类型:object 2. 数据类型的存储 基本类型和object类型在内存中存储的方式是不一致的,基本类型数据存
阅读全文
摘要:一、typescript数据类型 TypeDescription any 表示任意类型,可以赋值为任何类型。 unknown 表示类型不确定,通常需要进一步检查。 void 表示没有返回值的函数,默认返回 `undefined`。 never 表示函数永远不会返回,通常用于抛出异常或死循环。 boo
阅读全文
摘要:一个属性对象中选出一些对象, 使用Pick<T, K> type Person = { name: string; age: number; address: string; }; type PickedPerson = Pick<Person, 'name' | 'age'>; const per
阅读全文
摘要:过渡(Transitions): div { width: 100px; height: 100px; background-color: red; transition: background-color 0.5s ease-in-out; } div:hover { background-col
阅读全文
摘要:原型链的主要作用是用于继承,当我们访问一个对象的属性或方法时,如果这个对象本身没有该属性或方法,JavaScript 引擎会顺着该对象的原型链查找,直到找到该属性或方法,或者到达原型链的终点 null(通常是 Object.prototype 的原型)。 js实现继承 原型链相关的方法
阅读全文
摘要:一、作用 用于将一个或多个 特定提交(commit)从一个分支应用到当前分支。这意味着它可以将其他分支的某个提交(或者多个提交)直接应用到你当前的工作分支,而不需要合并整个分支的更改。 举个例子: 假设你有两个分支:main 和 feature。你在 feature 分支上做了几个提交,但是你只想将
阅读全文
摘要:一、浏览器有哪些进程 浏览器主进程:主要负责显示界面、提供前进后退收藏等交互行为,提供子进程管理功能、存储用户数据。 GUP进程:GPU 的使用初衷是为了实现 3D CSS 的效果,只是随后网页、Chrome 的 UI 界面都选择采用 GPU 来绘制,这使得 GPU 成为浏览器普遍的需求。最后,Ch
阅读全文
摘要:CDN,全称 Content Delivery Network(内容分发网络),是一种 分布式网络系统,它把网站的静态资源(比如图片、CSS、JS、视频等)缓存在全球各地的多个服务器节点上,让用户可以从离自己最近的节点获取内容,从而加快访问速度、减少服务器压力、提升稳定性。 简单来说:CDN 就是一
阅读全文
摘要:Gzip 适合用来压缩那些文本类的资源,因为文本类文件通常具有较多的重复字符,通过压缩可以大幅减少体积,提高传输速度。 是否适合 Gzip 压缩资源类型 ✅ 适合 HTML、CSS、JS、JSON、XML、SVG、纯文本 ❌ 不适合 图片(JPG/PNG/GIF/WEBP)、视频(MP4)、音频(M
阅读全文
摘要:动画渲染和屏幕刷新率的关系 大多数现代显示器的刷新率是 60Hz,也就是说每秒刷新 60 次。因此,60 FPS 刚好匹配显示器的刷新频率,这意味着每帧的时间应该控制在 16.67 毫秒(即 1000 毫秒 / 60 帧)。 动画优化 使用 requestAnimationFrame:它会将动画更新
阅读全文
摘要:function pick(obj,fieldsToPick){ return Object.fromEntries( fieldsToPick.map((key) => [key, obj[key]]) ); }
阅读全文
摘要:一、什么是重绘与回流 重绘(Repaint) 重绘是指当元素的外观发生变化时,浏览器需要重新绘制这些元素。由于这些操作不会改变元素占据的空间,因此不需要进行回流。常见的重绘操作包括: 改变颜色、背景色、透明度 回流(Reflow)回流(也称为布局重排)是指当元素的尺寸、位置或其他影响其布局的属性发生
阅读全文
摘要:LRU 缓存算法基于一个基本假设:如果一个数据长时间没有被访问,那么它未来也很可能不会再被访问。因此,当缓存达到上限时,应该淘汰掉最久未被访问的数据。 过期时间:缓存项有一个时间戳(timestamp),每次访问时都会重新设置一个新的过期时间 maxAge,如果缓存项超过 maxAge 设定的过期时
阅读全文
摘要:WebSocket 是一种基于 TCP 的通信协议,允许客户端与服务器之间建立一个持久的连接,进行双向实时通信。 1. WebSocket 构造函数 通过 new WebSocket(url) 创建 WebSocket 实例。 const ws = new WebSocket('ws://your-
阅读全文