独行的风

深拷贝循环引用的处理深度解析

一句话概括 深拷贝遇到对象属性指回自身时,用 WeakMap 建立「原对象→副本」的映射表,既能检测循环防止无限递归,又不会因为强引用阻止垃圾回收。 核心知识点 1. 为什么 JSON 方案直接挂掉? 因为 JSON.stringify 内部遍历对象图时发现自己回到了起点,V8 直接抛错——它没有「记录已路过节点」的能力。 const obj = { name: 'Alice' }...

深拷贝的实现思路深度解析

一句话概括 深拷贝本质上是递归遍历对象的每一层、对每种数据类型做针对性重建,同时用 WeakMap 解决循环引用——JSON.stringify 只是应试时的快捷答案,真正面试拼的是类型边界覆盖和循环引用处理。 核心知识点 1. 类型判断是地基 抄对象之前,先知道手里拿的是什么。typeof 只能区分基本类型和 object,数组、Date、null 全都混在一起。面试官想听的是 O...

异步错误处理机制深度解析

一句话概括:JavaScript 异步错误处理的本质是「调用栈的时空错位」——try-catch 只能抓住同一微秒内发生在同一调用栈的错误,而 Promise 链式冒泡和 async/await 让异步错误重新变得可追踪。 核心知识点 1. try-catch 的同步边界 try-catch 的覆盖范围止步于当前调用栈。异步回调在未来的新调用栈中执行,已经走出了 try 块的控制范围...

© 独行的风. 保留部分权利。

本站采用 Jekyll 主题 Chirpy

本站总访问量 本站访客数 本文阅读量