JavaScript中的错误链:借助Error.cause实现更清晰的调试
默认情况下,console.error(err) 仅记录顶级错误。cause 链不会自动显示,需手动记录,切忌过度使用。将每个次要错误都进行链式记录反而会使调试过程更加混乱。仅在上下文真正重要时使用此功能。
使用 setHTML() 方法消毒HTML
Element接口的 setHTML() 方法提供了一种解析和清理HTML字符串的安全方法,可生成DocumentFragment 接口的 setHTML() 方法提供了一种跨站脚本安全的解析方式,可将 HTML 字符串转换为 DocumentFragment,并将其作为子树插入元素的 DOM 中。
Bun Install 比 npm 快 7 倍,Why?
运行 bun install 速度极快。平均而言,它比 npm 快约 7 倍,比 pnpm 快约 4 倍,比 yarn 快约 17 倍。在大型代码库中,这种差异尤为显著。原本需要数分钟的操作,如今只需 (毫)秒即可完成。
魔方交互式动画、可编程JavaScript工具库:Roofpig
Roofpig 是一款专为现代网页设计的动画化、可编程且交互式的魔方。它采用 WebGL 或纯 Canvas 技术(通过 three.js 实现),并以 CoffeeScript 语言编写。您可以 尝试演示。
编程界的丰田卡罗拉
PHP和JavaScript代表了同一枚硬币的两面:网络编程,包括服务器端和客户端。万维网(World Wide Web)的兴起使它们成为重要角色,尽管它们(坦白说)最初的设计缺陷相当明显,演进过程缓慢且依赖委员会决策,以及各自生态系统中层出不穷的安全漏洞。
Google V8:我们如何让 JSON.stringify 的速度提升超过两倍
通过从头重新设计 JSON.stringify,从其高级逻辑到核心内存和字符处理操作,我们在 JetStream2 json-stringify-inspector 基准测试中实现了超过 2 倍的性能提升
Javascript 中的 using、Disposable 和显式资源管理
Javascript 的新“显式资源管理”提案添加了 using 语句,该语句可以在您使用完资源后自动关闭资源。但作为同一提案的一部分,还添加了许多其他 API,使 using 更加有用。
关于 JavaScript “工作证明(proof of work) “防抓取系统的思考
人们越来越多地使用基于 JavaScript 的“工作证明”系统来应对激进的大语言模型 (LLM) 和其他网络抓取器的问题,在这种系统中,您的网络服务器要求访问客户端运行一些 JavaScript 来解决挑战
这是 JavaScript 吗?
当有人说”这只是 JavaScript”时,更明确的说法应该是”这只是适用于…的 JavaScript”,例如:这是适用于浏览器的 JavaScript; 它只是用于 Node 的 JavaScript;它只是用于 Next.js 的 JavaScript
为什么 2025/05/28 和 2025-05-28 在 JavaScript 中是不同的日子?
,JavaScript Temporal 即将推出:一套新的日期和时间 API,旨在取代 Date 对象。我们最初的整个日期解析问题源于时区歧义,但在很多情况下,我们希望将纯日期字符串完全视为纯日期。
JavaScript 的新超能力:显式资源管理
显式资源管理提案引入了一种确定性方法,用于显式管理文件句柄、网络连接等资源的生命周期。该提案为语言增加了以下内容:using 和 await using 声明,当资源退出作用域时会自动调用处置方法;[Symbol.dispose]() 和 [Symbol.asyncDispose]() 符号,用于清理操作。asyncDispose]() 符号;
为 V8 提个醒: 通过明确的编译提示加快 JavaScript 启动速度
从长远来看,我们希望能够选择单个函数进行急切编译。这样,网络开发人员就能准确控制他们想要编译的函数,并挤出最后一点编译性能来优化他们的网页。敬请期待!
您的应用是否已安装?getInstalledRelatedApps() 会告诉您!
getInstalledRelatedApps()可让您的网页 检查您的移动应用还是桌面应用,在某些情况下, Web 应用 (PWA) 已安装在用户的设备上,您可以使用 自定义用户体验
使用 devicePixelContentBox 实现像素完美的渲染
从 Chrome 84 开始,ResizeObserver 支持一种名为 devicePixelContentBox 的新框测量,以测量元素的尺寸(以物理像素为单位)。这样可以渲染像素完美的图形,尤其是在高密度屏幕环境中。
WEB 异步剪贴板 API
通过 异步剪贴板 API 并提供了明确的权限模型, 屏蔽该网页Async Clipboard API 仅限于处理文本和图片 但支持情况各不相同。请务必仔细研究 了解以下各部分的兼容性概览。
创建离线备用页面
即使没有网络连接,您仍然可以打开 Google 助理应用、输入 Slack 或启动 Zoom。您可能无法获得任何特别有意义的东西,甚至无法实现您想要实现的目标,但至少可以实现目标,并且应用处于控制之中。
停用鼠标加速以提供更好的 FPS 游戏体验
对于某些第一方视角游戏(通常是第一人称射击游戏 [FPS]),原始鼠标输入数据用于在不进行加速调整的情况下控制相机旋转。相同的物理运动(慢或快)会导致相同的旋转。对专业游戏玩家而言,这样可以获得更出色的游戏体验和更高的准确度。
与 Service Worker 的双向通信
在本指南中,我们将探索不同的 API、Workbox 库以及一些高级用例,探索在 Window 和 Service Worker 上下文之间实现双向通信的不同方式。
使用 DataTransfer API 打破拖放和复制粘贴障碍
拖放和复制粘贴互动通常用于页面中的互动,用于将简单文本从 A 传输到 B。但常常被忽视的一点是,能否进行同样的互动,而不仅仅局限于浏览器窗口。DataTransfer API 让用户能够在浏览器窗口之外共享数据。
使用 WebOTP API 在跨源 iframe 中填充动态密码表单
短信动态密码(动态密码)通常用于验证电话号码,例如用作身份验证的第二个验证步骤,或用于在网络上验证付款。但是,如果在浏览器和短信应用之间切换,为了复制粘贴或手动输入动态密码,很容易出错,还会给用户体验带来不便。
JavaScript 事件深入探究
JavaScript 事件处理通常很简单。在处理简单(相对扁平的)HTML 结构时尤其如此。不过,当事件通过元素层次结构传输(或传播)时,情况会更复杂一些。这通常是开发者联系 stopPropagation() 和/或 preventDefault() 来解决所遇到的问题时
使用 CSS 模块脚本导入样式表
借助新的 CSS 模块脚本功能,您可以使用 import 语句加载 CSS 样式表,就像加载 JavaScript 模块一样。然后,样式表可以像可构造的样式表一样应用于文档或shadow roots
使用 Fetch API 时实现错误处理
本文介绍了使用 Fetch API 时的一些错误处理方法。通过 Fetch API,您可以向远程网络资源发出请求。当您进行远程网络调用时,您的网页可能会受到各种潜在网络错误的影响。
新 JavaScript Set 方法
本文适合初学 JavaScript 中的 Set 并希望了解如何使用这些新 JavaScript 方法的读者阅读。我将通过基本示例强调使用这些方法的一些优势,以说明为什么您可能会选择这些方法而不是构建自己的实现。
使用 requestVideoFrameCallback() 对视频执行高效的每视频帧操作
HTMLVideoElement.requestVideoFrameCallback() 方法允许网页创作者注册一个回调,该回调在向合成器发送新视频帧时在渲染步骤中运行。这样一来,开发者就可以对视频执行高效的每视频帧操作,例如视频处理和在画布上绘制、视频分析或与外部音频源同步。
