注:本文整理来自连接 https://www.cnblogs.com/echolun/p/7889848.html ,感谢博主的分享

总结:

1、浅拷贝:只拷贝变量的名,而不拷贝变量的值——常为引用类型,变量的值为一个路径,路径不变,指向的永远是同一个值,不管值是否改变

深拷贝:既拷贝变量的名,同时拷贝变量的值——常为引用类型

2、一个简单而又行之有效的深拷贝方法(借助类型转换):

var B = A;
B = JSON.stringify(B);
B = JSON.parse(B);

a.基本类型--名值存储在栈内存中,例如let a=1;

当你b=a复制时,栈内存会新开辟一个内存,例如这样:

b.引用数据类型--名存在栈内存中,值存在于堆内存中,但是栈内存会提供一个引用的地址指向堆内存中的值

当b=a进行拷贝时,其实复制的是a的引用地址,而并非堆里面的值。

而当我们a[0]=1时进行数组修改时,由于a与b指向的是同一个地址,所以自然b也受了影响,这就是所谓的浅拷贝了。

那,要是在堆内存中也开辟一个新的内存专门为b存放值,就像基本类型那样,岂不就达到深拷贝的效果了

最新文章

  1. CodeIgniter 3.0问题集锦
  2. LayaAir学习笔记
  3. Scala 深入浅出实战经典 第46讲: ClassTag 、Manifest、ClasMainifest TagType实战
  4. Unity3D Script KeynoteII
  5. EntityFramework常用查询
  6. Struts2中的类型转换
  7. C3p0的参数设置
  8. [Locked] Binary Tree Vertical Order Traversal
  9. linux nc命令使用详解
  10. SQL远程恢复
  11. Android中的dp,px以及wrap_content的实际展示效果
  12. PHP-无限级分类
  13. Oracle 树操作、递归查询(select…start with…connect by…prior)
  14. C#编程高并发的几种处理方法
  15. Javascript原型,原型链?有什么特点?
  16. 【计算机网络】 网络体系结构分类: 客户机/服务器体系和P2P
  17. 2018.08.06bzoj1251: 序列终结者(非旋treap)
  18. 在apache中使用.htaccess文件的注意事项
  19. python虚拟环境virtualenv下安装MySQL-python
  20. 学Git,用Git ②

热门文章

  1. Oracle 后台进程(五)SMON进程
  2. python 比较运算符
  3. Bzoj 1208: [HNOI2004]宠物收养所(splay)
  4. Monkey测试感想
  5. MySQL备忘点(上)
  6. install slax record
  7. JAVA基础知识|进程与线程
  8. 重读APUE(10)-中断的系统调用
  9. ffmpeg+nginx搭建直播服务器
  10. 文件上传使用FileUpload组件进行代码实现