javascript如何深拷贝一个变量

本文通过一个具体的JavaScript示例,解释了浅拷贝与深拷贝的区别,并展示了如何利用jQuery的$.extend()函数实现深拷贝,确保原始对象修改不影响拷贝后的对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js中,a={0:"1",1:"2"},a_copy=a;当改变了a里面的值后,a_copy的值也随之而改变了,这是因为a_copy=a这一句实际上只是a_copy将指针指向了a,并没有其中并没有得到值,这个叫浅拷贝;

需求是:a变了,而a_copy不变.

<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript">
var a={0:"0",1:"1",2:2};

var a_copy = $.extend({}, a);

a[0]="aaaa!";
a_copy[1]="a_copy!";

console.log(a);
console.log(a_copy);



</script>

 

可以使用jquery的$.extend()函数来深拷贝变量a,完成我们的要求.

110409_mrij_3360064.png

 

转载于:https://my.oschina.net/laobia/blog/1619259

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值