WebForm——浅拷贝与深拷贝
2024-10-06 16:49:05
注:本文整理来自连接 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存放值,就像基本类型那样,岂不就达到深拷贝的效果了
最新文章
- CodeIgniter 3.0问题集锦
- LayaAir学习笔记
- Scala 深入浅出实战经典 第46讲: ClassTag 、Manifest、ClasMainifest TagType实战
- Unity3D Script KeynoteII
- EntityFramework常用查询
- Struts2中的类型转换
- C3p0的参数设置
- [Locked] Binary Tree Vertical Order Traversal
- linux nc命令使用详解
- SQL远程恢复
- Android中的dp,px以及wrap_content的实际展示效果
- PHP-无限级分类
- Oracle 树操作、递归查询(select…start with…connect by…prior)
- C#编程高并发的几种处理方法
- Javascript原型,原型链?有什么特点?
- 【计算机网络】 网络体系结构分类: 客户机/服务器体系和P2P
- 2018.08.06bzoj1251: 序列终结者(非旋treap)
- 在apache中使用.htaccess文件的注意事项
- python虚拟环境virtualenv下安装MySQL-python
- 学Git,用Git ②