function deepClone (obj) {
if (obj === null) { // 如果是null则直接返回
return obj;
}
let copy = Array.isArray(obj) ? [] : {};
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
if (typeof obj[key] === 'object') {
copy[key] = deepClone(obj[key]);
} else {
copy[key] = obj[key];
}
}
}
console.log(copy);
return copy;
}
let a = { name: '小明', age: 23, children: [1, { aa: 1 }, 2, 3], fn: function (v) { return v; } };
let b = deepClone(a);
console.log('b', b);

  

最新文章

  1. EditPlus-CN使用总结
  2. php导出EXCEL方法
  3. MySql开始日期、结束日期查询
  4. [CQOI2011]动态逆序对
  5. foreach属性-动态-mybatis中使用map类型参数,其中key为列名,value为列值
  6. POJ 3250 Bad Hair Day --单调栈(单调队列?)
  7. 常见排序算法基于JS的实现
  8. [译]脱离jQuery,使用原生Ajax
  9. 《WPF程序设计指南》读书笔记——第7章 Canvas
  10. ubuntu 14.04安装quickbuild server (一)
  11. 【转】VMware 11安装Mac OS X 10.10 及安装Mac Vmware Tools.
  12. rcp(插件开发) The activator X for bundle Y is invalid 解决办法
  13. JQuery常用API 核心 效果 JQueryHTML 遍历 Event事件
  14. 手动清除memcached缓存方法
  15. ZOJ2212 Argus 优先队列 结构体
  16. f.lux 自动调节显示器色温
  17. Xcode中控制台中打印中文处理
  18. WPF Storyboard 动画播放完毕时触发的事件
  19. 利用CPaintDC::IntersectClipRect将绘图限制在局部区域
  20. grep 和 awk的buffer

热门文章

  1. laravel本地开发环境的安装及配置 - Windows:安装 Laravel Homestead 虚拟机
  2. Eclipse使用技巧小结
  3. 微信小程序 空白页重定向---二维码扫描第二次进入 不经过onLoad过程解析scene参数,跳转问题
  4. Windows开发:窗口最大化问题
  5. 变形课 HDU - 1181 【floyd传递闭包水题】
  6. 024_STM32程序移植之_ESP8266_TCP
  7. MySQl的库操作、表操作和数据操作
  8. (转)实验文档3:在kubernetes集群里集成Apollo配置中心
  9. Echarts——关系图(人民的名义为例,简化)源码
  10. 求ascii 然后做运算