- 从赋值、浅拷、深拷三者的内存关系图入手,分析 JSON.parse(JSON.stringify()) 流行的原因与四类数据丢失场景,给出基础版、循环引用版、WeakMap 缓存版手写实现,并与 structuredClone、lodash 做横向对比。 从赋值、浅拷、深拷三者的内存关系图入手,分析 JSON.parse(JSON.stringify()) 流行的原因与四类数据丢失场景,给出基础版、循环引用版、WeakMap 缓存版手写实现,并与 structuredClone、lodash 做横向对比。
- 本文使用 Node.js + Express + multer 开发轻量本地文件上传服务,无需复杂数据库,实现单文件上传、大小限制、文件类型校验、上传列表查询功能。讲解中间件原理、安全校验要点,附带完整可运行代码,适合后端新手动手实践,可直接部署在华为云ECS进行测试。 本文使用 Node.js + Express + multer 开发轻量本地文件上传服务,无需复杂数据库,实现单文件上传、大小限制、文件类型校验、上传列表查询功能。讲解中间件原理、安全校验要点,附带完整可运行代码,适合后端新手动手实践,可直接部署在华为云ECS进行测试。
- ## 一、为什么去重是个高频问题后端接口合并多条数据、多选标签回显、URL 参数拼接……几乎每天都会遇到数组去重。ES6 之前大家手写循环,ES6 之后一句展开运算符就能搞定,但不同实现在性能、边界行为上差异很大。选错方法,轻则代码难读,重则在十万级数据下直接卡死页面。## 二、七种实现方式### 1. 双层 for 循环(最直观)```jsfunction unique(arr) { c... ## 一、为什么去重是个高频问题后端接口合并多条数据、多选标签回显、URL 参数拼接……几乎每天都会遇到数组去重。ES6 之前大家手写循环,ES6 之后一句展开运算符就能搞定,但不同实现在性能、边界行为上差异很大。选错方法,轻则代码难读,重则在十万级数据下直接卡死页面。## 二、七种实现方式### 1. 双层 for 循环(最直观)```jsfunction unique(arr) { c...
- 问题背景一个普通的 Node/Express 应用(内含若干自动化子任务),本地用 Node 跑一切正常:内存稳定在 100MB 左右,端口监听、接口响应全部正常。但换到 Bun 运行时(或者打包成 bundle 后在内存受限的容器里跑),现象完全变了样:进程 RSS 疯涨到 6~7GB,直接被容器 OOM Kill换个环境又变成 CPU 100% 死循环,但内存不动、日志一行不输出崩溃表现... 问题背景一个普通的 Node/Express 应用(内含若干自动化子任务),本地用 Node 跑一切正常:内存稳定在 100MB 左右,端口监听、接口响应全部正常。但换到 Bun 运行时(或者打包成 bundle 后在内存受限的容器里跑),现象完全变了样:进程 RSS 疯涨到 6~7GB,直接被容器 OOM Kill换个环境又变成 CPU 100% 死循环,但内存不动、日志一行不输出崩溃表现...
- 从高频事件带来的性能与业务问题切入,给出防抖与节流的完整实现代码,对比两者执行时机与适用场景,并总结实战中的三个注意点。 从高频事件带来的性能与业务问题切入,给出防抖与节流的完整实现代码,对比两者执行时机与适用场景,并总结实战中的三个注意点。
- RAG 知识库的效果与文档检索质量密切相关。本文使用原生 JavaScript 实现一个轻量级中文 BM25 检索器,通过字符二元组分词、词频统计和相关性评分,展示文档检索与排序的基本原理,帮助开发者理解 RAG 系统中的关键检索技术。 RAG 知识库的效果与文档检索质量密切相关。本文使用原生 JavaScript 实现一个轻量级中文 BM25 检索器,通过字符二元组分词、词频统计和相关性评分,展示文档检索与排序的基本原理,帮助开发者理解 RAG 系统中的关键检索技术。
- 梳理 JavaScript 回文判断的三种常见实现:反转比较法、双指针法与中文回文处理细节,并给出性能对比与适用场景建议。 梳理 JavaScript 回文判断的三种常见实现:反转比较法、双指针法与中文回文处理细节,并给出性能对比与适用场景建议。
- 选个本地文件,浏览器当场算出 SHA-256 摘要,用来比对下载完整性,全程不联网、文件不出本机。顺带讲清为什么浏览器原生算不了 MD5。 选个本地文件,浏览器当场算出 SHA-256 摘要,用来比对下载完整性,全程不联网、文件不出本机。顺带讲清为什么浏览器原生算不了 MD5。
- 从零到一:用纯JavaScript实现中国麻将游戏的实战分享作者:Eddygit日期:2026-10-06项目地址:https://gitcode.com/Eddygit/mahjong-game 一、技术路线 1.1 为什么选择纯HTML/JS单文件方案?在项目立项阶段,我考虑过几种技术方案:方案优点缺点最终选择React/Vue + 构建工具组件化、状态管理清晰需要Node环境、构建复... 从零到一:用纯JavaScript实现中国麻将游戏的实战分享作者:Eddygit日期:2026-10-06项目地址:https://gitcode.com/Eddygit/mahjong-game 一、技术路线 1.1 为什么选择纯HTML/JS单文件方案?在项目立项阶段,我考虑过几种技术方案:方案优点缺点最终选择React/Vue + 构建工具组件化、状态管理清晰需要Node环境、构建复...
- 整理 fetch 使用中的四个常见问题——用 AbortSignal.timeout 设超时、AbortController 取消请求、keepalive 保证页面关闭时的上报、以及重试要区分 5xx 与 4xx 并做指数退避。 整理 fetch 使用中的四个常见问题——用 AbortSignal.timeout 设超时、AbortController 取消请求、keepalive 保证页面关闭时的上报、以及重试要区分 5xx 与 4xx 并做指数退避。
- 做个链接编码解码小工具时才发现,encodeURI 和 encodeURIComponent 这俩兄弟的区别,很多人一直没搞明白。这篇讲清楚:什么时候该用哪个、哪些字符它俩都不管、为什么 decodeURIComponent 会突然报错、以及用 URLSearchParams 拼参数比手写字符串靠谱在哪。 做个链接编码解码小工具时才发现,encodeURI 和 encodeURIComponent 这俩兄弟的区别,很多人一直没搞明白。这篇讲清楚:什么时候该用哪个、哪些字符它俩都不管、为什么 decodeURIComponent 会突然报错、以及用 URLSearchParams 拼参数比手写字符串靠谱在哪。
- 让用户自己选中一段文字再右键复制,转化率高不了。加个"点一下就复制"的按钮吧——这篇讲 navigator.clipboard 怎么用、为什么本地能跑线上却不行(必须是 HTTPS)、怎么处理不支持的浏览器,以及复制完给个"已复制"反馈这种细节。 让用户自己选中一段文字再右键复制,转化率高不了。加个"点一下就复制"的按钮吧——这篇讲 navigator.clipboard 怎么用、为什么本地能跑线上却不行(必须是 HTTPS)、怎么处理不支持的浏览器,以及复制完给个"已复制"反馈这种细节。
- 想做个在格子上涂色的像素画板,做出来发现两个毛病:线条模糊、画的格子跟鼠标对不上。根源都在 Canvas 的"两套尺寸"上——CSS 尺寸和画布尺寸不是一回事。这篇讲清楚 devicePixelRatio 怎么处理、鼠标坐标怎么换算成格子索引,以及画完怎么导出成图片。 想做个在格子上涂色的像素画板,做出来发现两个毛病:线条模糊、画的格子跟鼠标对不上。根源都在 Canvas 的"两套尺寸"上——CSS 尺寸和画布尺寸不是一回事。这篇讲清楚 devicePixelRatio 怎么处理、鼠标坐标怎么换算成格子索引,以及画完怎么导出成图片。
- 1995年5月,网景公司的程序员布兰登·艾奇用十天时间设计出了一门浏览器脚本语言。彼时没有人能预料到,这门仓促诞生的语言会在三十年后成为世界上使用最广泛的编程语言,驱动着从网页交互到服务器后端、从移动应用到物联网设备的庞大技术生态。诞生:一个“大杂烩”的十天设计JavaScript的诞生源于一个非常具体的需求。1994年底,网景的Navigator浏览器已占据超过90%的市场份额,但当时的网... 1995年5月,网景公司的程序员布兰登·艾奇用十天时间设计出了一门浏览器脚本语言。彼时没有人能预料到,这门仓促诞生的语言会在三十年后成为世界上使用最广泛的编程语言,驱动着从网页交互到服务器后端、从移动应用到物联网设备的庞大技术生态。诞生:一个“大杂烩”的十天设计JavaScript的诞生源于一个非常具体的需求。1994年底,网景的Navigator浏览器已占据超过90%的市场份额,但当时的网...
- 用TailwindCSS写一个响应式卡片栅格,说明utility-first思路和移动端优先的断点前缀(grid-cols-1 sm:grid-cols-2 lg:grid-cols-3)如何替代手写媒体查询。 用TailwindCSS写一个响应式卡片栅格,说明utility-first思路和移动端优先的断点前缀(grid-cols-1 sm:grid-cols-2 lg:grid-cols-3)如何替代手写媒体查询。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签