读书人

Js数组 是如何做类似java中的深拷贝的

发布时间: 2012-02-22 19:36:56 作者: rapoo

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>

读书人网 >JavaScript

热点推荐