<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="JS中复制数组 Array 数组是引用类型" id="card1">
<p> 游客</p><p>
标题:JS中复制数组 Array 数组是引用类型<br/>
正文:<br/>
一、 错误实现var array1 = new Array(&amp;quot;kuabaobao&amp;quot;,&amp;quot;camnpr&amp;quot;,&amp;quot;bubuol&amp;quot;); var array2; array2 = array1; array1.length = 0; alert(array2); //返回为空这种做法是错的，因为javascript分原始类型与引用类型（与java、c#类似）。Array是引用类型。array2得到的是引用，所以对array1的修改会影响到array2。二、 使用concat()注意concat()返回的并不是调用函数的Array，而是一个新的Array，所以可以利用这一点进行复制。var array1 = new Array(&amp;quot;kuabaobao&amp;quot;,&amp;quot;camnpr&amp;quot;,&amp;quot;bubuol&amp;quot;); var array2; array2 = array1.concat(); array1.length = 0; alert(array2); //返回kuabaobao,camnpr,bubuol 三、 使用slice()可使用slice()进行复制，因为slice()返回也是数组。var array1 = new Array(&amp;quot;kuabaobao&amp;quot;,&amp;quot;camnpr&amp;quot;,&amp;quot;bubuol&amp;quot;); var array2; array2 = array1.slice(0); array1.length = 0; alert(array2); //返回kuabaobao,camnpr,bubuol四、 测试&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=602&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=602&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=602&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=602&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=602&amp;Page=3">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=602">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=602">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>