Js数组 是怎么做类似java中的深拷贝的
var old = new Array([1,2],[6,7]);
var new = old;
new[1][1] = 100;
document.write(old[1][1]);
输出为: 100
tt改变了,temp也改变了
我的本意是: new改变了,但是new不能变。
java里面有深拷贝的概念,在js是怎么实现的
------解决方案-------------------- <SCRIPT LANGUAGE= "JavaScript ">
<!--
Array.prototype.clone=function()
{
var a = [];
for(var i=0; i <this.length; i++)
{
if( "object "==typeof(this[i]) && "undefined "!=typeof(this[i].length))
a[i] = this[i].clone();
else
a[i] = this[i];
}
return a;
}
var old = new Array([1,2],[6,7]);
var news = old.clone();
news[1][1] = 100;
alert(old[1][1]);
//-->
</SCRIPT>