首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2012-02-22 
Js数组 是怎么做类似java中的深拷贝的varoldnewArray([1,2],[6,7])varnewoldnew[1][1]100document.w

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>

热点排行