日期:2014-05-18  浏览次数:20843 次

关于js数组的问题?
下面是一个测试页面
JS有两个叔祖 age 和 isAddAge;
在函数pageLoad()中 
1.先把 age 付给 isAddAge
2.然后在向 isAddAge 的头部添家一个数组成员.

问题是 age 也会增加!
JS数组是应用类型吗?
怎么样把age的值付给 isAddAge
代码要简洁,高效.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript">
var age=[20,22,23];
var isAddAge=null;
function pageLoad()
{
isAddAge=age
isAddAge.unshift(18); //向数组添加一个数组成员
document.getElementById("txt1").value=age;
document.getElementById("txt2").value=isAddAge;
}
</script>
</head>
<body onload="pageLoad()">
age:<input type="text" id="txt1"/>
<br />
isAddAge:<input type="text" id="txt2"/>
</body>
</html>

------解决方案--------------------
是引用类型,用拷贝进行试试

JScript code
var a=new Array(){1,2,3};
var b=new Array(){};
var d=a.concat(b);