首页
文章列表
标签墙
返回找工具啦
前端开发
共 167 篇文章
JavaScript AbortSignal.timeout简化请求超时控制
2026-04-23 03:23:00
JavaScript AbortSignal.timeout简化请求超时控制 在前后端交互中,网络请求经常因为服务器响应慢或网络波动而长时间处于“挂起”状态。为了防止页面一直等待,必须给请求设置一个“死亡时间”(超时时间)。过去,实现这一功能需要编写繁琐的控制器逻辑和定时器代码。现在,利用现代 Ja
前端开发
网络请求
超时控制
125
0
JavaScript原型链查找为什么会有性能开销
2026-04-22 10:22:36
JavaScript原型链查找为什么会有性能开销 JavaScript 的原型链机制是实现继承和属性共享的核心方式,但在高频访问属性的场景下,深层或不规范的链式查找会带来显著的性能损耗。理解其背后的原因并掌握优化方法,是编写高性能代码的关键。 1. 理解属性查找的基本机制 在 JavaScript
JS
原型链
性能优化
86
0
JavaScript ES2024新特性Array.groupBy的实际应用
2026-04-21 19:29:32
在数据处理中,经常需要将数组元素按照特定属性或规则进行分组归类。在过去,开发者通常不得不手写 reduce 函数或者引入 Lodash 等第三方库来实现这一功能。ES2024 引入了 Array.prototype.groupBy 方法,让这一操作变得像调用 map 或 filter 一样简单。 1
JS
ES2024
groupBy
100
0
TypeScript类型断言与类型守卫在类型安全上的权衡
2026-04-21 14:13:27
TypeScript 编译为 JavaScript 后,所有的类型信息都会被擦除。在运行时,变量仅仅是值,不再携带接口或类型的定义。因此,当处理来自 API 的 any 数据、DOM 元素或复杂的联合类型时,我们需要一种手段让 TypeScript 编译器知道当前变量的具体类型。 TypeScrip
TypeScript
类型断言
类型守卫
118
0
Vue的异步组件与Suspense组件配合实现加载态
2026-04-21 09:23:19
Vue的异步组件与Suspense组件配合实现加载态 在 Vue 3 开发中,处理数据请求延迟或大组件加载时的白屏问题,通常需要编写繁琐的 ifelse 逻辑或维护额外的 loading 状态变量。利用 Vue 的 defineAsyncComponent 与 <Suspense 组件的组合,可以将
Vue3
异步组件
Suspense
107
0
Vue3 Vapor Mode无虚拟DOM编译模式的性能提升
2026-04-21 03:18:04
Vue3 Vapor Mode无虚拟DOM编译模式的性能提升 Vue3 的 Vapor Mode 是一种全新的编译策略,旨在通过抛弃传统的虚拟 DOM(Virtual DOM)机制,进一步提升框架的运行时性能。与传统的 Vue 3 模式相比,Vapor Mode 在编译阶段做更多的工作,生成更高效、
Vue3
Vapor模式
无虚拟DOM
134
0
Vue3 watch的deep选项监听嵌套对象变化的性能开销
2026-04-20 23:28:03
Vue3 watch的deep选项监听嵌套对象变化的性能开销 在 Vue3 开发中,监听嵌套对象的变化是一个常见需求。许多开发者习惯性地给 watch 函数添加 deep: true 选项。虽然这能解决问题,但它往往带来巨大的性能开销,特别是在数据结构庞大或层级较深时。当对象发生变化,Vue 必须递
Vue3
watch
deep选项
123
0
TypeScript类型断言在联合类型收窄中的局限性
2026-04-20 21:25:12
TypeScript类型断言在联合类型收窄中的局限性 在处理 TypeScript 联合类型时,开发者经常需要将类型范围从宽泛的 A B 收窄为具体的 A 或 B,以便访问特定属性。虽然类型断言(as)看似能快速解决类型报错,但在联合类型收窄场景中,它存在严重的安全盲区和逻辑局限。盲目使用断言会导致
TypeScript
类型断言
联合类型
138
0
Vue3 Composition API中ref和reactive该怎么选
2026-04-20 10:26:48
Vue3 Composition API中ref和reactive该怎么选 Vue3 引入 Composition API 后,响应式系统的构建方式发生了变化。核心的选择难题集中在 ref 和 reactive 两个 API 上。这两者虽然功能类似,但在使用场景和代码风格上有着本质区别。选择正确的
Vue3
组合式API
ref
138
0
JavaScript Object.freeze深层冻结对象的递归实现
2026-04-20 07:23:07
JavaScript Object.freeze深层冻结对象的递归实现 在JavaScript开发中,使用 Object.freeze 可以防止对象被修改。然而,Object.freeze 只能进行“浅层冻结”:它只会冻结对象自身的属性,如果某个属性的值是另一个对象(嵌套对象),那个内部对象仍然是可
JS
深层冻结
递归
103
0
JavaScript structuredClone不支持函数和DOM节点的限制
2026-04-20 05:20:58
JavaScript structuredClone不支持函数和DOM节点的限制 structuredClone 是现代浏览器和 Node.js 中提供的用于深度克隆对象的标准 API。它解决了 JSON.parseJSON.stringify 无法处理循环引用和多种数据类型的问题。然而,struc
前端开发
深度克隆
对象克隆
117
0
JavaScript Set的交集、并集、差集运算方法
2026-04-20 01:20:01
JavaScript Set的交集、并集、差集运算方法 JavaScript 原生的 Set 对象虽然提供了存储唯一值的强大能力,但并没有像 Python 或数学集合那样直接内置 union(并集)、intersection(交集)或 difference(差集)的方法。我们需要利用 ES6 的扩展
前端开发
JS
Set对象
107
0
JavaScript闭包导致内存泄漏的典型场景与排查方法
2026-04-19 20:15:19
JavaScript闭包导致内存泄漏的典型场景与排查方法 闭包是 JavaScript 中最强大的特性之一,允许内部函数访问外部函数的作用域。然而,如果不小心处理,闭包会轻易锁住原本该释放的变量,导致内存泄漏。以下是导致闭包内存泄漏的三个典型场景,以及使用 Chrome DevTools 进行排查和
闭包
内存泄漏
前端开发
156
0
React useEffect依赖数组写错导致无限循环的排查
2026-04-19 17:19:54
React useEffect依赖数组写错导致无限循环的排查 React 组件在运行时陷入无限渲染循环,通常表现为浏览器标签页卡死、CPU 飙升或控制台日志疯狂滚动。这种现象绝大多数情况下源于 useEffect 的依赖数组配置不当。以下指南将通过具体的排查步骤和代码修正方案,帮你彻底解决这一问题。
React
useEffect
无限循环
154
0
TypeScript 泛型默认值与约束的优先级
2026-04-18 18:17:31
TypeScript 泛型默认值与约束的优先级 TypeScript 中的泛型是构建可复用组件的核心工具,但在实际开发中,很多开发者对“默认值”与“约束”同时存在时的执行顺序存在误解。理解这两者的优先级,能帮助你编写更灵活且类型安全的代码。 步骤 1:掌握声明语法 理解 extends 约束和 =
TS
泛型
默认值
113
0
TypeScript 类型守卫:类型谓词与类型缩小
2026-04-18 14:22:29
TypeScript 类型守卫:类型谓词与类型缩小 TypeScript 的联合类型允许变量接受多种类型,但也带来了访问属性时的类型不确定性。类型守卫是一套运行时检查机制,用于在条件块中“缩小”类型的范围,确保代码安全。本文将介绍如何利用 typeof、in、instanceof 以及自定义的“类型
类型守卫
类型谓词
类型缩小
103
0
TypeScript 枚举:enum 类型的定义与使用
2026-04-18 10:15:04
TypeScript 枚举:enum 类型的定义与使用 枚举是 TypeScript 中一种特有的数据结构,它允许开发者定义一组具名的常量。使用枚举可以显著提高代码的可读性,避免使用“魔术数字”或难以记忆的字符串,让代码逻辑更加清晰。 1. 定义数字枚举 数字枚举是 TypeScript 中默认的枚
TypeScript
枚举
enum
127
0
React 路由:React Router 配置与导航
2026-04-17 22:27:12
React 路由:React Router 配置与导航 React Router 是 React 生态中用于处理客户端路由的标准库,它允许你在不刷新页面的情况下,根据 URL 地址切换视图组件。以下指南将详细介绍如何从零开始配置 React Router(以目前主流的 v6 版本为例)并实现各种导航
React
ReactRouter
路由配置
133
0
React 表单:受控组件与非受控组件
2026-04-17 13:16:52
React 表单:受控组件与非受控组件 在 React 开发中,处理表单输入是核心交互之一。根据数据由谁(React State 还是 DOM)来持有“唯一真实数据源”,我们将表单组件分为受控组件和非受控组件。理解并正确使用这两种模式,能让你在处理复杂表单验证时游刃有余,或者在快速搭建简单表单时更加
React
表单处理
受控组件
109
0
JavaScript Promise:then() 与 catch() 链式调用
2026-04-17 08:26:49
JavaScript Promise:then 与 catch 链式调用 JavaScript 中的 Promise 链式调用是处理异步操作的核心机制。通过 then 和 catch 的串联,可以将复杂的异步逻辑转化为线性的、同步感极强的代码结构。掌握链式调用的数据流转与错误冒泡机制,是编写健壮异步
Promise
异步编程
链式调用
141
0
上一页
1
2
3
4
5
6
7
8
9
下一页