今天因为项目需要写了个Json格式的深拷贝(深度复制)。很简单,没有做其他的判断,代码如下:

function deepCopy(json){if(typeof json == 'number' || typeof json == 'string' || typeof json == 'boolean'){return json;}else if(typeof json == 'object'){if(json instanceof Array){var newArr = [], i, len = json.length;for(i = 0; i < len; i++){newArr[i] = arguments.callee(json[i]);}return newArr;}else{var newObj = {};for(var name in json){newObj[name] = arguments.callee(json[name]);}return newObj;}}
}

刚才还犯了个错误,在使用concat连接数组的时候,还以为concat返回了一个新的数组,其实没有。concat方法不能用来做深拷贝。

转载于:https://www.cnblogs.com/realwall/archive/2011/11/23/2260858.html

JavaScript深拷贝Json相关推荐

  1. typescript或javascript深拷贝Object json

    typescript或javascript深拷贝Object json Object的json对象很多时候我们需要深拷贝,我写了两个工具函数,供大家参考. deepCopyObject 深拷贝一个Ob ...

  2. js 对象深拷贝_这一次,彻底理解JavaScript深拷贝

    导语 这一次,通过本文彻底理解JavaScript深拷贝! 阅读本文前可以先思考三个问题: JS世界里,数据是如何存储的? 深拷贝和浅拷贝的区别是什么? 如何写出一个真正合格的深拷贝? 本文会一步步解 ...

  3. javascript深拷贝和浅拷贝

    在JavaScript中,存在着这样的两种拷贝方式.分别是:深拷贝和浅拷贝,这两种拷贝在实际中非常的常见,如果读者是一个阅读源码的爱好者,相信多多少少对深拷贝和浅拷贝有所了解. 一.浅拷贝 浅拷贝在现 ...

  4. 4种JavaScript深拷贝的方法

    浅拷贝与深拷贝 浅拷贝是创建一个新对象,这个对象有着原始对象属性值的拷贝.如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的是内存地址 . 如果不进行深拷贝,其中一个对象改变了对象 ...

  5. html5展示json数据库,显示数据在html5从数据库使用javascript和json

    我想从MySQL数据库显示在html中的列表.要从MySQL获取数据我使用json和javascript.但它什么也没有显示!显示数据在html5从数据库使用javascript和json 我的HTM ...

  6. JavaScript对Json的增删改属性

    <script type="text/javascript">var json = {"age":24,"name":" ...

  7. JavaScript解析Json字符串

    JavaScript可以解析服务器接口返回的json字符串(一般用于Ajax),而不需要json的额外支持. 在JavaScript中可以通过eval()方法将一个json字符串解析成一个JavaSc ...

  8. php用json交换二维数组,PHP和Javascript的JSON交互(处理一个二维数组)

    我不得不承认:我是一个彻彻底底的JS白痴.但根据项目需要,不得不使用JSON,不管怎么说,经过一个晚上的学习,已经略有所成,记录下来. PHP的JSON类库我使用的是Services_JSON,没什么 ...

  9. JSON数据格式----- JavaScript与JSON、JavaScript的JSON对象、构建JSON格式数据

    JavaScript与JSON JSON是一种语法,用来序列化对象.数组等的.它只是基于JavaScript语法 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zWMc ...

最新文章

  1. CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装
  2. bnpparibas
  3. 简朴的生活、高贵的灵魂是人生的至高境界。——杨绛
  4. macbookpro接口叫什么_【科普】什么是雷电接口?苹果电脑MACBOOK PRO有吗?
  5. 数学 之 hdu 4710 Balls Rearrangement
  6. java判断map是否为空_Java自定义Exception
  7. 文件服务器 选型,文件服务器选型
  8. 我的电脑缩略图模式盘符名字不见了
  9. NetAssist网络调试助手,学习网络编程第一步
  10. mysql客户端navicat怎么连接_Navicat使用详解(mysql客户端工具)
  11. 数学建模 相关系数(皮尔逊相关系数和斯皮尔曼相关系数)
  12. mysql nutch,nutch结合mysql配置
  13. php定做单城市公交路线查询系统
  14. 回顾马云屌丝岁月的惨状:多次被拒失声痛哭
  15. John F. Kennedy的就职演说(在线收听)
  16. 华为鸿蒙Matepad 11,你值得拥有的学习、娱乐、办公利器
  17. 144Hz风冷旗舰:红魔5G游戏手机“比快更快”
  18. ATMEGA88PA-AU(工作原理图)
  19. 新型的领导者是一名推动者,而不是一名发号施令者
  20. 芯片电源去耦电容为什么要靠近电源放置

热门文章

  1. Oracle type (自定义类型的使用)
  2. 2022-2028中国工作服市场现状及未来发展趋势
  3. Go 学习笔记(67)— Go 并发安全字典 sync.Map
  4. 什么是高/低方差、高/低偏差、(推荐阅读)
  5. Bert系列(三)——源码解读之Pre-train
  6. 梯度下降理解和梯度下降计算检查斯坦福
  7. Intel发布FPGA
  8. TVM性能评估分析(七)
  9. 硬件安全模块如何启用AUTOSAR
  10. 各种经典透镜投影模型