当前位置: 首页 > news >正文

Json实现深拷贝的缺点

1、如果被拷贝对象中的属性有时间对象的话,拷贝出来会为字符串,将不再是对象

        var test = {
            name: 'a',
            date: [new Date(1536627600000), new Date(1540047600000)],
        };
        console.log(test)
        console.log(JSON.parse(JSON.stringify(test)));

2、如果obj里有RegExp(正则表达式的缩写)、Error对象,则序列化的结果将只得到空对象;

        const test = {
            name: 'a',
            date: new RegExp('\\w+'),
        };
        const copyed = JSON.parse(JSON.stringify(test));
        test.name = 'test'
        //console.error('ddd', test, copyed);
        console.log(test);
        console.log(copyed);

3、如果obj里有函数、undefined,则序列化的结果会把函数或 undefined丢失;


        const test = {
            name: 'a',
            date: function hehe() {
                console.log('fff')
            },
            b:undefined
        };
        // debugger
        const copyed = JSON.parse(JSON.stringify(test));
        test.name = 'test'
        console.log('ddd', test, copyed);

4、如果obj里有NaN、Infinity和-Infinity,则序列化的结果会变成null

相关文章:

  • 2.5 python接口编程
  • Java File 类详解
  • Wireshark 抓包全解析:从数据捕获到报文分析
  • 2024年12月CCF-GESP编程能力等级认证C++编程二级真题解析
  • 深入探索人工智能(AI):分类、应用与案例分析
  • 基于模态特定因子的高效低秩多模态融合方法解析
  • 基于Python的天气预报数据可视化分析系统-Flask+html
  • python从邮件中提取链接中的符号为什么会变成amp; 解决办法
  • 华为手机助手输入连接码时光标乱跳
  • 本地部署Spark集群
  • Markdig:强大的 .NET Markdown 解析器详解
  • 003_快乐数
  • Axios介绍(前端开发处理网络请求首选工具,基于Promise HTTP客户端,可以在浏览器和Node.js环境使用)(Axios库)
  • Java 综合实战项目:生成不重复随机字符串数组
  • 深度学习 Deep Learning 第2章 线性代数
  • 2024年12月CCF-GESP编程能力等级认证C++编程五级真题解析
  • 理解进程间通信
  • ANSYS Swan 条件激活与重置操作符教程
  • 目标在哪里?——寻找人生的意义与方向
  • 【虚幻C++笔记】引擎源码下载及编译步骤
  • 男子服用头孢后饮酒应酬致昏迷在家,救援人员破门施救后脱险
  • AI快速迭代带来知识焦虑,褚君浩院士提出“四维能力模型”
  • 九江银行落地首单畜牧业转型金融业务,助推传统农业绿色智能
  • 中国田径巡回赛西安站完赛:男子跳远石雨豪夺冠,女子跳高刘肼毅折桂
  • 聚焦中华文明精神标识,多校专家学者跨学科对话交流
  • 北方首场高温将进入鼎盛阶段,江南华南多地需警惕降雨叠加致灾