技术交流QQ群:1027579432,欢迎你的加入!

欢迎关注我的微信公众号:CurryCoder的程序人生

1.浅拷贝与深拷贝

  • 浅拷贝只是拷贝一层,更深层次对象级别的只拷贝引用。
  • 深拷贝拷贝多层,每一级别的数据都会被拷贝。
  • Object.assign(target,sources),es6新增方法可以实现浅拷贝。
    <script>var obj = {id: 1,name: 'CurryCoder',msg: { // 更深层次的对象age: 18,address: 'earth'},color: ['pink', 'red']};//    浅拷贝var o = {};for (var k in obj) {o[k] = obj[k]; // 浅拷贝只拷贝一层,更深层次对象级别的只拷贝引用。如只拷贝obj中msg的引用}console.log(o);o.msg.age = 30;console.log(obj);console.log('-------以下是ES6新增的浅拷贝方法--------');Object.assign(o, obj);console.log(o);o.msg.age = 60;console.log(obj);// 深拷贝var oldobj = {id: 1,name: 'CurryCoder',msg: { // 更深层次的对象age: 18,address: 'earth'},color: ['pink', 'red']};var res = {};function deepCopy(target, sources) {for (var k in sources) {// 判断sources[k]属于哪种数据类型var item = sources[k];// 判断是否是数组if (item instanceof Array) {target[k] = [];deepCopy(target[k], item);// 判断是否是对象} else if (item instanceof Object) {target[k] = {};deepCopy(target[k], item);// 判断是否是简单数据类型} else {target[k] = item;}}}console.log('------深拷贝-------');deepCopy(res, oldobj);console.log(res);res.msg.age = 44;console.log(oldobj);
    </script>
    

2.资料下载

  • 笔记及代码,欢迎 star,follow,fork…

43 JavaScript中的浅拷贝与深拷贝相关推荐

  1. JavaScript中的浅拷贝与深拷贝(手写浅拷贝和深拷贝)

    一.简介 数据分为基本数据类型和引用数据类型. 基本数据类型: String.Number.Boolean.Null.Undefined.Symbol.基本数据类型是直接存储在栈中的数据. 引用数据类 ...

  2. js 浅拷贝直接赋值_JS中实现浅拷贝和深拷贝的代码详解

    (一)JS中基本类型和引用类型 JavaScript的变量中包含两种类型的值:基本类型值 和 引用类型值,在内存中的表现形式在于:前者是存储在栈中的一些简单的数据段,后者则是保存在堆内存中的一个对象. ...

  3. 【转】JAVA中的浅拷贝和深拷贝

    原文网址:http://blog.bd17kaka.net/blog/2013/06/25/java-deep-copy/ JAVA中的浅拷贝和深拷贝(shallow copy and deep co ...

  4. Python中的浅拷贝和深拷贝(一看就懂!!!)

    浅拷贝和深拷贝一直傻傻的分不清,甚至有时候会理解反.今天就简单总结一下python中的浅拷贝和深拷贝. 总结 最直观的理解就是: 1.深拷贝,拷贝的程度深,自己新开辟了一块内存,将被拷贝内容全部拷贝过 ...

  5. JavaScript 中的对象拷贝(深拷贝、浅拷贝)

    对象是 JavaScript 的基本块.对象是属性的集合,属性是键值对.JavaScript 中的几乎所有对象都是位于原型链顶部 Object 的实例. 介绍 如你所知,赋值运算符不会创建一个对象的副 ...

  6. 说说JS中的浅拷贝与深拷贝

    outline: 为什么要说JS中深拷贝与浅拷贝 JS对类型的分类 immutable与mutable 简单类型检测 浅拷贝VS深拷贝 为什么要说JS中深拷贝与浅拷贝 近来在研读underscore的 ...

  7. 浅拷贝 python_python中的浅拷贝和深拷贝

    http://python.jobbole.com/82294/ Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果. 下面本文就通过简单的例子介 ...

  8. JavaScript知识之 浅拷贝与深拷贝

    值传递与引用传递 JavaScript中有两种数据类型:基本数据类型和引用数据类型两种. 从名字上来看,大概也能猜到它们的区别: 基本数据类型 值直接存储在栈内存中 对于引用类型来说 它存储了一个引用 ...

  9. Java中的浅拷贝与深拷贝

    一.引用拷贝与对象拷贝 class Person implements Cloneable{private String name;private int age;...省略get和set方法 pro ...

最新文章

  1. Bootstrap 按钮菜单的尺寸
  2. 计算机4000字论文格式,科学论文格式要求4000字
  3. linux系统装psp,psp上装Linux
  4. 安卓逆向之某瓜数据app签名sign破解
  5. QT IOS风格音乐播放器(一) 项目介绍
  6. 肿瘤NGS的常规检测流程
  7. 腾讯 2015年校招 笔试 附加题
  8. 测量数据的计算机处理实验报告,测量数据处理实验报告..doc
  9. 人工智能html5背景,HTML5人工智能基础及实践
  10. iOS上应用如何兼容32位系统和64位系统
  11. 解密:Gmail移动客户端自动邮件回复技术
  12. 从REINFORCE到PPO,看Policy Gradient的前世今生
  13. 用python简单入门写糖葫芦!
  14. 在c程序语言中aph,C 语言试题
  15. Windows Server 2012 蓝屏 Wpprecorder.sys 故障
  16. Mathtype基本使用
  17. app自动化测试最佳实践
  18. 微信读书小队组队专用群招募
  19. CCTC区块链峰会议题正式发布
  20. ASP.NET 或C# 中ASCII码含中文字符的编解码处理

热门文章

  1. thinkphp5.1嵌套关联预载入的写法
  2. 机器学习笔记7-监督学习
  3. MySQL和PostgreSQL数据库安全配置
  4. 学习笔记之三(数组中的一些方法)
  5. Mac上搭建直播服务器Nginx+rtmp
  6. SQLSERVER系统数据库工作原理
  7. 并发编程中的大坑:你的直觉有序性问题
  8. 一文搞清楚QPS、TPS、并发用户数、吞吐量
  9. 构建前瞻性应用架构的优秀实践
  10. Docker不香吗?为什么还要用k8s