Articles

全部文章

全部AI 编程Mac 与效率工程化与工具链React / Next.jsCSS / 动画JavaScript / TypeScriptNode / 后端Docker / Linux / 运维数据库设计与多媒体
JavaScript Event Loop:任务、微任务与渲染顺序
JavaScript / TypeScriptJavaScriptEvent LoopPromise

JavaScript Event Loop:任务、微任务与渲染顺序

通过调用栈、任务队列、微任务检查点和浏览器渲染流程,解释 Promise、queueMicrotask、setTimeout 与 async/await 的真实执行顺序和常见性能陷阱。

2025-02-17
for 循环里 var 和 let 为什么结果不同
JavaScript / TypeScriptjavascript

for 循环里 var 和 let 为什么结果不同

用经典的 `for` 循环闭包例子解释为什么 `var` 会得到 `3 3 3`,而 `let` 会得到 `0 1 2`,并说明函数作用域、块级作用域和 IIFE 在这里分别扮演什么角色。

2024-12-04
JavaScript 中 var 和 let 的作用域差异解析
JavaScript / TypeScriptjavascript

JavaScript 中 var 和 let 的作用域差异解析

作用域定义了变量和函数的可访问范围。函数作用域:变量在整个函数内都有效,通常由var创建。块级作用域:变量只在其所在的代码块内有效,通常由let和const创建。在 JavaScript 中,var和letvar声明的变量具有函数作用域,这意味着它在整个函数内都有效。由于var的

2024-12-04
JavaScript 数组与遍历:map、splice、for of
JavaScript / TypeScriptJavaScript数组遍历

JavaScript 数组与遍历:map、splice、for of

按是否修改原数组梳理 map、filter、reduce、find、slice、splice、sort、toSorted,以及 for、forEach、for of、for in 的选择方法。

2024-11-29
TypeScript 里 as 和 satisfies 怎么选
JavaScript / TypeScriptjavascript

TypeScript 里 as 和 satisfies 怎么选

解释 TypeScript 中 `as`、尖括号断言和 `satisfies` 的差异,重点说明为什么 `satisfies` 更适合对象结构校验,而 `as` 更像是在告诉编译器“先按我说的算”。

2024-11-26
JavaScript % 余数运算:负数、取模与实用场景
JavaScript / TypeScriptJavaScript运算符算法

JavaScript % 余数运算:负数、取模与实用场景

解释 JavaScript % 返回余数而非数学取模,展示负数归一化、奇偶判断、循环索引、角度归一化和 BigInt 的正确写法。

2024-11-20
JavaScript 解构与对象复制:浅拷贝、深拷贝
JavaScript / TypeScriptJavaScript解构赋值深拷贝

JavaScript 解构与对象复制:浅拷贝、深拷贝

讲清对象和数组解构、展开语法的浅拷贝边界,并比较 structuredClone、JSON 序列化与自定义深拷贝的适用场景。

2024-11-19
console.dir 和 console.log 有什么区别
JavaScript / TypeScriptjavascript前端typescript

console.dir 和 console.log 有什么区别

说明 console.log 与 console.dir 在浏览器 DevTools 里的实际差异,重点回答对象调试、DOM 节点查看和 Node.js 环境下什么时候该用哪一个。

2024-11-12
可选链 ?.: 什么时候该用,什么时候别用
JavaScript / TypeScriptjavascript前端开发语言

可选链 ?.: 什么时候该用,什么时候别用

用属性访问、数组索引和函数调用三个场景讲清 JavaScript 可选链 `?.` 的行为,并解释它与空值合并、逻辑或和错误兜底之间的边界。

2024-11-12