Quoted-Printable编码解码 - 邮件安全传输格式
在线Quoted-Printable编码与解码工具,用于邮件MIME格式的可打印字符转义,前端安全运行。
UD5工具箱
直观理解弱引用与垃圾回收机制 — 对比 Map/Set 的强引用行为
Map 对键和值都是强引用。只要 Map 存在,其中的键对象就不会被垃圾回收(GC),即使没有其他代码引用该对象。
WeakMap 对键是弱引用。如果键对象失去了所有强引用,GC 会回收它,WeakMap 中对应的条目也会自动消失。WeakMap 的值是强引用,但键被回收后值也会被释放。
这导致 WeakMap 不可迭代(无法遍历所有键),因为键可能随时被 GC 回收。
Set 对每个值持有强引用,会阻止 GC 回收其中的对象。
WeakSet 对值持有弱引用,不阻止 GC。WeakSet 中的值必须是对象(不能是原始类型)。
典型应用场景:标记对象是否被处理过(如防止循环引用),而不影响对象的生命周期。WeakSet 同样不可迭代。
弱引用的概念只对对象有意义。原始值(字符串、数字等)在 JS 中按值传递,没有引用概念,也无法被 GC 回收。只有对象是通过引用管理的,GC 通过追踪对象引用来判断是否回收。因此 WeakMap 的键和 WeakSet 的值都必须是对象。
FinalizationRegistry 是 ES2021 引入的 API,允许在对象被 GC 回收后执行回调。本工具使用它来实际检测对象是否已被回收。
注意:GC 时机由 JS 引擎决定,不可预测。FinalizationRegistry 的回调可能延迟触发,不应依赖它执行关键逻辑。它最适合用于调试、监控和教学演示。
JS 引擎的 GC 时机是自动且不可预测的,通常在内存压力增大时触发。普通 JavaScript 代码无法强制触发 GC(除非使用 Chrome 的 --expose-gc 标志并调用 window.gc())。
本工具中,"释放强引用"后对象进入可回收状态,等待 GC 实际执行。FinalizationRegistry 会在 GC 发生后通知我们。
在线Quoted-Printable编码与解码工具,用于邮件MIME格式的可打印字符转义,前端安全运行。
上传两个打包后的 JS 文件或统计信息,对比体积、模块数量和树摇效果。
将错误解码的 Windows-1252 文本重新编码为正确的字符,修复常见的西文乱码。
调节频率和脉冲时长,生成类似消防或救护车的紧急报警声音。
启动专注时段同时生成白噪音或雨声,浏览器通知暂停,真正沉浸式工作。
使用指针锁定 API 在 3D 场景中控制视角移动,模拟 FPS 游戏鼠标控制。
选择一个元素,展示浏览器如何根据 ARIA 属性、内容、label 等计算其可访问名称。
使用 WebGPU 编写计算着色器执行矩阵乘法,对比 CPU 性能。
使用新的 Navigation API 拦截导航、管理历史条目,构建类 SPA 体验。
使用 NDEF 格式向 NFC 标签写入文本、URL 或自定义记录。
可视化展示发布/订阅模式的运作,添加订阅者和发布者,查看事件流。
创建 Shadow DOM 与普通 DOM 元素,对比样式隔离效果,理解 @layer 和 scoped styles。
模拟 Encrypted Media Extensions 流程,展示如何请求许可证并播放受保护视频。
构建嵌套元素,触发事件并逐步显示事件流经路径,可切换捕获/冒泡模式。
模拟古代斯巴达人将羊皮纸绕在棍上写信息的方法,输入文本解密。
收录多幅动态与静态视错觉,可调节参数观察效果,附科学解释。
3D地球展示地轴倾角与公转,调节月份直观理解太阳直射点移动如何形成四季。
上传一小块纹理样本,利用简单模板匹配算法无缝扩展填充成一张大图。
使用CTAP2模拟器或安全密钥在浏览器中体验无密码注册与认证流程。
选择各种数据类型演示structuredClone的深拷贝能力,对比JSON.parse的限制。
在主线程和Worker中分别计算大斐波那契数,对比界面的响应度。
显示渐小条纹,测试你能分辨的最小视角,对照理论视网膜细胞密度。
调节采样频率,观察对正弦波的离散采样和重建效果,演示欠采样导致的频率混叠。
使用PasswordCredential和FederatedCredential存储用户登录信息,并实现一键自动登录。
显示当前已授予的权限,并提供方法引导用户手动撤销或重置浏览器权限。
拖拽改变一个div的大小,通过ResizeObserver API实时显示其新的宽度和高度。
模拟发起跨域请求并显示错误,解释CORS机制和解决方案。
在指定区域进行触摸操作,实时显示触摸点坐标和识别的基础手势(滑动、捏合等)。
展示一些常用内置HTML元素和自定义元素例子,提供代码复制。
在Canvas上手写数字,通过预训练的简单模型或k-NN演示实时预测数字标签。