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);
}