博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery中$.extend(true,object1, object2);深拷贝对象
阅读量:7077 次
发布时间:2019-06-28

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

语法:jQuery.extend( [deep ], target, object1 [, objectN ] )

深浅拷贝对应的参数就是[deep],是可选的,为true或false。默认情况是false(浅拷贝),并且false是不能够显示的写出来的。如果想写,只能写true(深拷贝)

测试例子:

var object1 = {};var object2 = {    b:{        mm:333    },    c:100};console.log('原来的object1--->'+JSON.stringify(object1));console.log('原来的object2--->'+JSON.stringify(object2));$.extend(true,object1, object2);object1.b.mm = 600;console.log('新的object1--->'+JSON.stringify(object1));console.log('新的object2--->'+JSON.stringify(object2));

 

测试结果

 

由测试结果知道,jQuery中$.extend(true,object1, object2);可以深拷贝对象,拷贝之后,改变其中一个对象的属性值,对另外一个没有影响。

接着在继续深入理解

测试例子

var object1 = {    a: 0,    b: {        gg: 11,        mm: 22    }};var object2 = {    b: {        mm: 333    },    c: 100};//默认情况浅拷贝//object1--->{"apple":0,"banana":{"price":200},"cherry":97,"durian":100}//object2的banner覆盖了object1的banner,但是weight属性未被继承//$.extend(object1, object2);//深拷贝//object1--->{"apple":0,"banana":{"weight":52,"price":200},"cherry":97,"durian":100}//object2的banner覆盖了object1的banner,但是weight属性也被继承了呦$.extend(true,object1, object2);console.log('原来的object1--->'+JSON.stringify(object1));console.log('原来的object2--->'+JSON.stringify(object2));object1.b.mm = 600;console.log('新的object1--->'+JSON.stringify(object1));console.log('新的object2--->'+JSON.stringify(object2));

 

测试结果

 

转载于:https://www.cnblogs.com/baiyangyuanzi/p/6519968.html

你可能感兴趣的文章
FreeBSD下安装配置Hadoop集群(四)
查看>>
技术人员,请注意那些被你忽略的重要事情
查看>>
WINDOWS上数据灾难后专业的现场保护方法
查看>>
如何挖掘NAND Flash的IO性能
查看>>
微软私有云分享(R2)19Azure Pack与远程控制台
查看>>
探查 SQL Server 虚拟日志文件
查看>>
aix6 11G RAC 异机恢复至单实例测试
查看>>
购华为第1书,写书评赢大奖
查看>>
Tcpdump的详细用法
查看>>
Python学习笔记一(Python数据类型)
查看>>
咬定青山、立根破岩
查看>>
生产环境大于254台机器网段划分及路由解决方案详解01
查看>>
“春Phone计划”51CTO沙龙武汉站分享
查看>>
传统项目跟互联网结合的详细推广方法
查看>>
美团点评上市,王兴的野心和局限
查看>>
《基于插件的日志采集技术实践》幻灯片下载
查看>>
Exchange Server 2010 SP2 命令行部署
查看>>
用python和redis开发高性能监控平台及框架升级过程
查看>>
Idc服务都白菜价儿了,云化还是问题吗
查看>>
corosync+pacemaker+http高可用操作手记
查看>>