全部内容
JavaScript 事件循环(Event Loop)机制深度解析

本文深入解析 JavaScript 单线程模型下的事件循环机制。通过剖析同步与异步代码的执行流程,详细阐述宏任务与微任务的优先级差异,并结合 setTimeout 与 Promise 示例,解释代码实际执行时间与预期延时不符的原因,帮助开发者掌握 JS 异步编程核心原理。

2026-10-22 19:39:04
176
函数茶馆
JavaScript实现HTML字符转义与反转义的两种方案

本文介绍在JavaScript中处理HTML特殊字符的两种常用方法。首先解析浏览器内置的DOM API实现HTML编码与解码,利用createElement动态创建元素获取innerHTML或innerText。其次提供基于正则表达式的通用转码与解码方案,涵盖<、>、&等常见符号的替换逻辑,并说明其在防止XSS攻击中的应用。

2026-10-22 19:38:10
591
页面旅途
JS/HTML5游戏开发:普里姆算法生成随机迷宫详解

本文详解JavaScript游戏中常用的随机迷宫生成算法——普里姆算法。通过二维数组构建逻辑地图,利用随机访问与打通墙壁机制生成连通迷宫,并结合寻路算法实现角色自动移动。包含完整代码示例及在线测试工具,适用于RPG等游戏开发场景。

2026-10-22 19:37:54
323
纸飞机
JS/HTML5游戏开发:分离轴定理(SAT)碰撞检测详解

本文详解JavaScript中基于分离轴定理(SAT)的碰撞检测算法。通过电筒阴影类比解释原理,涵盖凸多边形与圆的检测逻辑,提供从法向量投影到重叠判断的完整步骤,并附带HTML5 Canvas实现代码与在线测试示例。

2026-10-22 19:37:38
165
函数茶馆
JS/HTML5游戏开发:矩形包围盒(AABB)碰撞检测算法详解

本文详解JavaScript和HTML5游戏中常用的矩形包围盒(AABB)碰撞检测算法。通过最小最大顶点法与中心点半径法两种描述方式,解析碰撞判断逻辑与代码实现。对比两种方法的计算效率,指出轴对齐包围盒在无需旋转场景下的高效性与精度优势,并提供完整DEMO代码供开发者参考。

2026-10-22 19:37:30
545
半夏
Egg.js 自定义请求级日志实现指南

本文详细介绍如何在 Egg.js 框架中自定义请求级别的日志格式。通过继承 egg-logger 的 FileTransport 类,绕过原生 Context Logger 对 formatter 参数的限制,实现包含时间、进程ID、TraceId 等字段的统一日志规范。

2026-10-22 19:37:01
505
百宝袋
JS/HTML5游戏像素碰撞检测算法详解

本文详解HTML5游戏中的像素级碰撞检测算法。该算法通过对比精灵重叠区域的RGBA透明度数据实现高精度判定,虽精确但效率较低。文中介绍了先利用AABB包围盒进行初步筛选以优化性能的策略,并分步解析了利用后台缓冲区获取像素数据、对比Alpha值判断相交的具体实现流程及注意事项。

2026-10-22 19:36:50
470
窗边听雨
JavaScript位运算实战:奇偶判断、取整与数值交换技巧

本文深入解析JavaScript中的位运算机制,涵盖按位与(&)、或(|)、非(~)、异或(^)及左移、右移操作。通过具体实例展示如何利用位运算高效判断奇偶数、对浮点数向下取整、交换变量值以及计算2的n次方,同时辨析有符号与无符号右移在正负数处理上的差异,帮助开发者理解底层二进制操作以提升代码执行效率。

2026-10-22 19:36:27
476
代码拾荒
JS/HTML5游戏开发:追踪算法原理与实现详解

本文详解JS/HTML5游戏中常用的追踪算法,包括基础的坐标速度分解算法与更自然的视线追踪算法。通过向量计算实现追踪者始终朝向目标移动的效果,提升游戏可玩性,并提供完整代码示例与在线测试工具。

2026-10-22 19:36:16
338
木棉
JavaScript数组与对象排序详解:从基础到字符串数字处理

本文详解JavaScript中数组排序机制。通过sort()方法及自定义比较函数,解决数字、字符串及数组对象的排序问题。重点解析当对象属性值为字符串形式的数字时,如何通过Number转换与isNaN判断实现正确的数值排序,避免ASCII码比较导致的错误。

2026-10-22 19:35:52
456
闭包旅人
使用 JSONP 解决本地 JSON 文件跨域读取问题

本文介绍如何利用 JSONP 技术解决在本地通过 AJAX 读取 JSON 文件时遇到的跨域错误。通过解析 script 标签不受同源策略限制的特性,阐述 JSONP 的工作原理,并提供具体的代码实现与注意事项,帮助开发者绕过浏览器安全限制获取数据。

2026-10-22 19:35:18
388
百宝袋
JS中使用new Option()实现时间联动效果

本文介绍如何在JavaScript中通过new Option()方法动态向select元素添加选项,并结合闰年判断逻辑实现年月日三级联动效果。通过示例代码展示如何根据月份和年份自动计算并刷新天数,解决前端表单中日期联动的常见需求。

2026-10-22 19:34:54
631
白露