浅拷贝,拷贝的是一个数组:
var arr = ["One","Two","Three"]; var arrto = arr; arrto[1] = "test"; document.writeln("数组的原始值:" + arr + "<br />");//Export:数组的原始值:One,test,Three document.writeln("数组的新值:" + arrto + "<br />");//Export:数组的新值:One,test,Three
深复制,复制的是数组里的每个元素
两种方法:
1\js的concat方法 :
如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组
var arr = ["One","Two","Three"]; var arrtooo = arr.concat(); arrtooo[1] = "set Map To";
2\js的slice函数
slice 方法一直复制到 end 所指定的元素,但是不包括该元素
var arr = ["One","Two","Three"]; var arrtoo = arr.slice(0); arrtoo[1] = "set Map";