自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 前端虚拟列表深度拆解

用户列表:10 万条;表格里还有:多列、复杂 DOM、hover、操作按钮、状态标签。4. 偏移量(offset / translateY):让当前渲染的 items。因为:同一条数据在不同 scrollTop 下会复用 DOM,key 必须全局唯一。总的来说虚拟列表就是只渲染可视区域内的列表项,而其余的用占位高度“假装存在”,这个是最简单的,真是项目中大量列表数据一般都是每一项数据都是高度固定的。假设所有 item 都渲染后的总高度(假的,但要算出来)):实际渲染 = 10 + 4 = 14 条。

2026-02-03 19:39:16 1125

原创 Web Worker 实战:从零实现支持秒传的大文件分片上传方案

可以传的数据类型包括:Object、Array、String、Number、Map / Set、ArrayBuffer、TypedArray、File / Blob。所有 DOM 渲染、事件响应、动画都在主线程、一旦你执行大量计算 → 页面卡死。改成 Worker 后:计算在子线程执行、UI 依然流畅、用户体验巨大提升。条件不再满足而退出),老板才会说:“好,全文件上传任务圆满结束!不能传:DOM、window、document、function。

2026-01-30 15:22:35 900

原创 深入理解 JavaScript Promise 与事件循环

官方说法:Promise 是一个用于表示异步操作最终结果的对象。人话版:Promise 就是一个“承诺”:现在结果可能还没出来,但将来一定会给你一个结果(成功 or 失败)。比如:请求接口(不知道什么时候返回)、读取文件、定时任务、图片上传等这些都需要 Promise。方法成功条件失败条件典型用途resolve直接成功不会失败包装值reject不会成功直接失败快速中断all全部成功任一失败多接口并发race第一个完成第一个失败超时控制allSettled。

2026-01-28 17:10:30 1077

原创 一篇搞定 JavaScript 数组与字符串高频方法(附真实场景 + 个人使用心得)

刚开始学 JS 时,我处理数组几乎全靠for循环;面试时被问到经常卡壳;真正进了项目才发现: 熟练使用这些方法,代码可读性和效率完全是两个世界。这篇文章,我帮你系统整理:前端开发中最常用的数组方法、字符串高频 API、真实业务场景和性能提升等适合:初学 JS 、正在准备面试、想提升代码质量的前端开发者因为你每天都在做这些事:接口数据格式转换表格筛选、搜索权限控制URL 参数处理文本处理这些几乎全部靠数组和字符串方法完成。

2026-01-27 22:29:27 529 1

原创 React-Router 6

动态路由参数用于标识具体资源,比如用户详情页、商品详情页等,是路径语义的一部分;而 query 参数用于控制页面状态,比如分页、筛选、搜索、排序等,不改变页面本身身份。后端返回用户权限列表,前端根据权限动态过滤 useRoutes 路由表,实现页面级权限控制。同时结合路由参数,在页面内做资源级校验,配合 403 页面形成完整权限闭环。菜单也基于同一份权限配置动态生成,保证权限与体验一致。用于:登录成功跳转、权限校验失败跳转、操作完成跳转等。用于:企业项目、动态路由、权限路由。用于:详情页、编辑页等。

2026-01-27 16:00:33 1015

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除