JavaScript 共 50 篇文章

JavaScript Temporal API替代Date的现代日期时间处理
2026-05-20 03:12:20
JavaScript Temporal API替代Date的现代日期时间处理 JavaScript原生的Date对象设计过时且存在诸多问题:可变性、月份从0开始计数、时区处理复杂且不可靠,以及API设计反直觉。为了从根本上解决这些痛点,TC39委员会提出了Temporal API提案,它提供了一套现
JavaScript TemporalAPI 日期时间处理
22 0
JavaScript Array.from创建指定长度数组的技巧
2026-05-10 15:14:14
JavaScript Array.from创建指定长度数组的技巧 Array.from 是 JavaScript 中一个强大且灵活的方法,用于从类数组对象或可迭代对象创建新数组。它不仅能简单地转换数据,还能通过其第二个参数实现复杂的数组初始化逻辑,尤其适合创建指定长度的数组并填充特定内容。 基础用法
JavaScript Array.from 数组创建
42 0
JavaScript Array.at(-1)取最后一个元素的简洁写法
2026-05-09 19:23:35
JavaScript Array.at1取最后一个元素的简洁写法 在JavaScript中,获取数组最后一个元素的传统方法是使用arrarr.length 1。这种方法虽然有效,但代码稍显冗长。从ES2022开始,Array.prototype.at方法提供了一种更简洁的写法,通过负索引直接获取最后
JavaScript 数组操作 Array.at()
29 0
JavaScript MutationObserver监听DOM变化的实战应用
2026-05-09 12:16:23
JavaScript MutationObserver监听DOM变化的实战应用 在现代Web开发中,我们经常需要处理动态变化的页面内容。传统的轮询方式效率低下,而 MutationObserver 提供了一种高效、强大的解决方案,用于监听DOM树的变化。本文将手把手教你如何使用 MutationOb
MutationObserver JavaScript DOM变化
42 0
JavaScript Iterator协议与for-of的自定义可迭代对象
2026-05-06 18:16:02
JavaScript Iterator协议与forof的自定义可迭代对象 JavaScript 原生的 Array 和 String 类型可以直接使用 for...of 循环进行遍历。要让自定义的对象也能享受这种语法便利,必须让该对象符合“可迭代协议”。这意味着对象必须包含一个特定的方法,并返回正确
JavaScript 迭代器协议 可迭代对象
36 0
JavaScript RegExp的v标志与Unicode集合操作
2026-05-01 07:13:30
JavaScript RegExp的v标志与Unicode集合操作 在现代 JavaScript 开发中,处理多语言文本、特殊符号或复杂的字符匹配规则一直是正则表达式的痛点。传统的 u Unicode 标志虽然支持基本的 Unicode 字符匹配,但在处理字符集合的运算(如“除了...之外的所有..
JavaScript 正则表达式 v标志
80 0
JavaScript AbortController取消fetch请求的正确姿势
2026-04-28 10:23:22
在Web开发中,处理网络请求时经常遇到用户快速切换页面或在搜索框中连续输入的情况。如果不及时取消已发出的旧请求,不仅会浪费服务器资源和带宽,还可能导致“竞态条件”,即旧请求的数据晚于新请求返回,覆盖了正确的界面内容。AbortController 是现代浏览器提供的原生 API,专门用于取消如 fe
前端开发 JavaScript AbortController
73 0
JavaScript WeakMap和Map的区别:为什么用WeakMap做缓存
2026-04-28 05:16:18
JavaScript WeakMap和Map的区别:为什么用WeakMap做缓存 JavaScript 开发中,Map 和 WeakMap 长得很像,但它们在内存管理上有着天壤之别。如果不小心,用 Map 存储大量数据会导致内存泄漏,而 WeakMap 则能自动帮你清理垃圾。本文将直接通过对比和代码
JavaScript WeakMap 前端开发
63 0
JavaScript防抖和节流为什么用闭包实现更优雅
2026-04-27 18:30:59
在处理高频事件(如窗口大小调整、滚动、输入框输入)时,浏览器会被大量重复的任务阻塞,导致页面卡顿。防抖和节流是解决这一问题的两种核心策略。大多数初级开发者会使用全局变量来存储计时器状态,但这不仅污染全局命名空间,还导致同一个函数无法在页面上复用。 使用闭包可以将计时器状态“私有化”,让每个函数调用都
JavaScript 防抖 节流
47 0
JavaScript Generator函数在异步流程控制中的应用
2026-04-25 11:18:21
JavaScript Generator函数在异步流程控制中的应用 JavaScript 中的异步操作(如网络请求、文件读写)通常使用回调函数或 Promise 处理。当业务逻辑复杂时,多层嵌套会导致代码难以阅读和维护。Generator 函数提供了一种能够暂停执行和恢复执行的机制,配合 Promi
JavaScript Generator函数 异步编程
59 0
JavaScript Proxy拦截操作实现数据校验的完整示例
2026-04-25 03:14:54
JavaScript Proxy拦截操作实现数据校验的完整示例 在 JavaScript 开发中,直接修改对象属性(如 user.age = 5)非常常见,但也极易引入脏数据。传统的解决方案是在赋值前手动编写 if 语句进行校验,这种方式代码冗余且容易遗漏。Proxy 对象提供了一种机制,可以在操作
JavaScript Proxy 数据校验
49 0
JavaScript queueMicrotask与Promise.resolve().then的区别
2026-04-24 11:13:53
JavaScript queueMicrotask与Promise.resolve.then的区别 了解 JavaScript中的queueMicrotask和Promise.resolve.then都是用于调度微任务的API,它们都在当前脚本执行完毕后、浏览器重绘前执行。 认识 queueMicr
JavaScript 异步编程 微任务
60 0
JavaScript Symbol类型的实际应用场景:为什么说它是唯一标识
2026-04-24 10:27:44
JavaScript Symbol类型的实际应用场景:为什么说它是唯一标识 JavaScript 在 ES6 中引入了 Symbol 这种新的原始数据类型。它的核心特性非常简单:每一个通过 Symbol 函数创建的值都是独一无二的。这使得 Symbol 成为了解决属性名冲突、定义私有属性以及消除魔术
JavaScript Symbol类型 唯一标识
44 0
JavaScript Intl.NumberFormat实现千分位格式化的国际化方案
2026-04-24 06:26:17
JavaScript Intl.NumberFormat实现千分位格式化的国际化方案 Intl.NumberFormat 是 JavaScript 内置的国际化对象,用于处理数字格式化。相比于手动拼接字符串或使用正则替换,它能更高效、更精准地处理货币、百分比、计量单位以及不同语言的千分位显示规则。
JavaScript Intl.NumberFormat 千分位
63 0
JavaScript async/await:异步函数的错误处理
2026-04-17 05:15:41
JavaScript async/await:异步函数的错误处理 1. 使用 try...catch 捕获标准错误 async 函数内部抛出的错误(无论是显式 throw 还是底层网络请求失败)都会导致返回的 Promise 变为 rejected 状态。最标准的处理方式是使用 try...catc
JavaScript async/await 错误处理
69 0
JavaScript 正则表达式:基本匹配与捕获组
2026-04-16 17:18:14
JavaScript 正则表达式:基本匹配与捕获组 正则表达式是处理文本的强大工具。在JavaScript中,正则表达式可用于搜索、替换和提取文本。本文将介绍正则表达式的基本匹配规则和捕获组的用法。 基本匹配规则 创建 正则表达式有两种方式:使用字面量或构造函数。 javascript // 字面量
JavaScript 正则表达式 字符匹配
70 0
JavaScript 作用域问题:var、let、const 变量作用域
2026-04-14 23:23:56
JavaScript 作用域问题:var、let、const 变量作用域 JavaScript 的变量定义方式决定了代码在何处能够访问这些数据。理解 var、let 和 const 的作用域差异,是避免“变量未定义”或“意外覆盖”等常见 Bug 的关键。 1. 理解 var 的函数作用域 var 声
JavaScript 作用域 变量声明
70 0
JavaScript 闭包:函数作用域与变量访问
2026-04-11 20:22:29
JavaScript 闭包:函数作用域与变量访问 闭包是 JavaScript 中最核心、最强大的特性之一。简单来说,闭包允许函数“记住”并访问其定义所在作用域的变量,即使该函数在其原始作用域之外执行。这就好比函数出门时背了一个背包,背包里装着它出生时的环境变量。 以下将通过具体步骤,深入解析闭包的
JavaScript 闭包 函数作用域
68 0
JavaScript AJAX:XMLHttpRequest 与 fetch API
2026-04-11 02:24:59
JavaScript AJAX:XMLHttpRequest 与 fetch API AJAX(Asynchronous JavaScript and XML)允许网页在不重新加载整个页面的情况下,与服务器交换数据并更新部分内容。这是现代 Web 应用交互的核心。目前,实现 AJAX 主要有两种方式
JavaScript AJAX fetchAPI
70 0
JavaScript 异步编程:回调函数与 Promise
2026-04-10 03:22:20
JavaScript 异步编程:回调函数与 Promise JavaScript 是一门单线程语言,这意味着它同一时间只能做一件事。如果在执行耗时操作(如网络请求、文件读取)时阻塞了主线程,整个页面就会像“死机”一样无法响应。为了解决这个问题,我们需要掌握异步编程的两个核心概念:回调函数与 Prom
JavaScript 异步编程 回调函数
77 0