JavaScript 中 JSON.stringify 的隐藏陷阱:循环引用、Date 对象与 toJSON 实战
在前后端数据交互、本地存储或日志记录时,JSON.stringify 几乎是每个 JavaScript 项目里出现频率最高的 API 之一。但你真的了解它遇到的边界情况吗?上周我在处理一个用户配置导出功能时,就踩到了循环引用导致整个页面崩溃的坑——一个看似简单的对象序列化,却因为嵌套结构里藏着一个指向父级的引用而抛出 TypeError。除此之外,Date 对象序列化后变成字符串、undefined 和函数直接消失、NaN 变成 null 这些行为,在调试接口数据时经常让人困惑。这篇文章会从实际代码出发,梳理 JSON.stringify 的第二个参数 replacer 和第三个参数 spac...