博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 对象的浅拷贝和深拷贝
阅读量:5041 次
发布时间:2019-06-12

本文共 720 字,大约阅读时间需要 2 分钟。

//浅拷贝,拷贝内存块,拷贝部门代码不共存var obj = {	a  :  "a",	b  :  "b",	c  :  {		text :  "这是一个文本"	}}var copy = obj;copy.a = "copy";console.log(obj.a)// "copy",可以看到这里的浅拷贝,会修改到原先的数据,因为浅拷贝是拷贝同一块内存块//es6有Object.assign()方法用于深度拷贝,不过只是一级深度拷贝var obj = {	a  :  "a",	b  :  "b",	c  :  {		text :  "这是一个文本"	}}var assigncopy = Object.assign({}, obj);assigncopy.a="assigncopy";assigncopy.c.text = "assigncopytext";console.log(obj.a) // "a"console.log(obj.c.text) // "assigncopytext", 说明只是一级深度拷贝而已,用时要小心//深度拷贝对象,一般都能满足var obj = {	a  :  "a",	b  :  "b",	c  :  {		text :  "这是一个文本"	}}var stringcopy = JSON.parse(JSON.stringify(obj));stringcopy.c.text = "stringcopytext";console.log(obj.c.text);//"这是一个文本"

转载于:https://www.cnblogs.com/luguiqing/p/7685904.html

你可能感兴趣的文章
C++标准库vector使用(更新中...)
查看>>
cocos2d-x 2.2.6 之 .xml文件数据读取
查看>>
枚举的使用
查看>>
BZOJ 1531 二进制优化多重背包
查看>>
BZOJ 2324 (有上下界的)费用流
查看>>
python3基础06(随机数的使用)
查看>>
Zookeeper系列(二)特征及应用场景
查看>>
【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试
查看>>
Spring Boot使用Druid和监控配置
查看>>
poi 处理空单元格
查看>>
Android 内存泄漏优化总结
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
Spring Cloud微服务笔记(五)Feign
查看>>
C语言键盘按键列表
查看>>
Codeforces Round #374 (Div. 2)
查看>>
oracle数据类型
查看>>
socket
查看>>
Vue中使用key的作用
查看>>
二叉索引树 树状数组
查看>>
日志框架--(一)基础篇
查看>>