JavaScript 是一种轻量级、解释型或者说即时编译型的编程语言, 广泛应用于网页开发中,主要用于增强网页的交互性和动态性。作为 Web 开发的核心技术之一,它与 HTML 和 CSS 共同协作,HTML 负责定义网页的内容结构,CSS 处理样式和布局,而 JavaScript 则控制网页的行为…
在日常前端开发工作中,字符串格式化是高频基础需求,其中 首字母大写 更是页面文本展示、数据格式化、标题渲染场景里的常用操作。本文将基于原生 JavaScript 与 TypeScript,完整梳理首字母大写的各类实现方案,包含单个单词首字母大写、整句所有单词首字母大写两种核心场景,适配不同开发需求。…
UPNG.js 是一款轻量级、纯 JavaScript 实现的 PNG/APNG 编码与解码库,作为专业在线图像编辑器 Photopea 的核心 PNG 引擎,它在实际生产环境中经过了大量验证。该库不依赖任何第三方依赖,可同时运行在浏览器端和 Node.js 环境中,支持无损压缩和有损压缩两种模式,…
在全栈开发过程中,无论是 Node.js 服务端处理数据,还是小程序前端渲染列表,数组遍历和过滤都是高频操作。其中 forEach、map、filter 这三个方法更是日常开发离不开的工具,但很多开发者(尤其是新手)都会陷入一个常见误区 - 认为 有回调的都是异步 ,进而在使用这些方法时出现逻辑错乱…
在前端开发中,树形结构是非常常见的数据格式,无论是菜单展示、权限管理还是分类列表,都离不开树形数据的操作。其中,根据节点 ID 查找对应子节点(包括深层子节点)是高频需求,今天就分享一个通用、健壮的 findChildren 方法,解决日常开发中树形节点查找的痛点。 日常开发中,我们经常会遇到这样的…
在日常开发中,我们经常会通过 console.log 输出调试信息,例如文件数量、任务进度或统计数据。然而,当数字位数不一致时,日志会显得参差不齐,影响可读性,尤其是在批量输出或对比数据时更加明显。 本文将总结几种常见的实现方式,帮助你在 Node.js 或浏览器环境中实现数字的等宽对齐输出。 问题…
在日常前端开发中,我们经常会遇到数组对象的分组合并需求,尤其是涉及父级与子集关联的数据处理场景。最近我就遇到了一个这样的需求,通过多轮调整优化,最终实现了符合预期的功能,今天就把整个开发过程记录下来,分享给有需要的同行。 需求初始场景很明确,后端返回的原始数据是一个二维数组,每一项数组中包含两个对象…
eslint 标准模式-回调报错,见下图 callback(true/false) 的回调函数写法是 eslint standard 标准中不允许的写法,而不是 es6 中的规定 解决方式 1、使用 callback(new Error(true)) 代替,或者使用变量代替 true/false ,…
浏览器默认是可以打开一些常见的网页开发文件,比如 CSS、HTML、JS 等,但是有时候我们需要直接保存这些文件,而不是通过浏览器打开,然后由用户选择是否保存文件。 已知 MIME type 的文件 对于浏览器无法打开的文件,浏览器默认会弹出一个下载确认框,提示用户保存文件,这个都很好办,常见的就是…
在短链接生成、订单号脱敏、资源标识压缩等业务场景中,常需将冗长数字转为简短字符串(短码),且必须保证转换可逆,以便从短码回溯原始数字。本文将分享一套基于 36 进制编码的 JavaScript 实现方案,封装转换与还原两大核心方法,兼顾实用性、健壮性与边界处理,可直接落地到短链接生成等实际业务中。 …
在前端开发中,处理层级数据是非常常见的需求,比如构建菜单导航、组织部门架构、展示分类目录等场景,都需要将扁平的行数据转换为嵌套的树形结构。本文将详细拆解一个简洁高效的行转树工具函数,帮助你理解其核心逻辑,并能灵活应用到实际开发中。 一、函数功能与使用场景 先来看我们要实现的核心函数 list2tre…