javascript中的数组应用的一点发现






















首先我们先定义一个数组,并给它赋值,然后再定义一个空的数组,另空数组=原数组: copyright dedecms
/*****************代码段一*****************
var array1 = new Array("a", "b", "c"); dedecms.com
var array2 = new Array(); 内容来自dedecms
Array2 = Array1;
/******************************************
我当时的目的是想用新数组暂时存放原数组的数据,因为我可能改变这些数据这些数据,但是又不想改变原数组,所以我用一个新的临时数组来存放这些数据。但是运行的结果却是我操作了新数组,原数的值也改变了。 织梦好,好织梦
/*****************代码段二*****************
array2.pop(); dedecms.com
array2.push("d"); 织梦内容管理系统
var tempStr = ""; dedecms.com
for (var i=0; i<=array1.length; i ) copyright dedecms
tempStr = array1[i];
alert(tempStr);
/****************************************** dedecms.com
这让我想起了C/C 里面引用或者指针,可是我翻遍了手边的各种javascript手册或者教程都没有提到这一概念,但这里新数组确实是原数组的一个引用。而用其他方法来初始化这个新数组就不会出现这样的情况: copyright dedecms
/****************代码段三****************** 本文来自织梦
var array1 = new Array("a", "b", "c"); dedecms.com
var array2 = new Array(array1); 本文来自织梦
/******************************************
织梦内容管理系统
一些思考:win下javascript的数组对象应该是vc 写的class,而作者没有重载"=",所以使javascript的数组直接用"="赋值成为了对源数组的引用。

文章评论
共有位Admini5网友发表了评论 查看完整内容