var test=[1,2,3,4,5,6,7];
var arr=test;
arr.splice(2,1);
alert(test);//1,2,4,5,6,7
JS数组实质上是对象。因此,上面的源代码最后打印出的是1,2,3,4,5,6。这是因为将test赋值给arr实际上是将数组的引用赋值给arr,所以操作arr也同时会改变源数组。
要实现数组克隆,可以下方法:
Array.prototype.clone=function(){
return this.slice(0);
}