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,完成我们的要求.