WEB开发网
开发学院网页设计JavaScript javascript中的数组应用的一点发现 阅读

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

 2004-03-07 19:51:36 来源:WEB开发网   
核心提示: 今天用javascript写一个小程序,用到数组时有一个小小发现,翻了手边的书都没有介绍,所以就发过来献丑了, 首先我们先定义一个数组,并给它赋值,然后再定义一个空的数组,另空数组=原数组: /*代码段一* var array1 = new Array("a", "b"

   今天用javascript写一个小程序,用到数组时有一个小小发现,翻了手边的书都没有介绍,所以就发过来献丑了。

   首先我们先定义一个数组,并给它赋值,然后再定义一个空的数组,另空数组=原数组:

   /*****************代码段一*****************

   var array1 = new Array("a", "b", "c");

   var array2 = new Array();

   Array2 = Array1;

   /******************************************

   我当时的目的是想用新数组暂时存放原数组的数据,因为我可能改变这些数据这些数据,但是又不想改变原数组,所以我用一个新的临时数组来存放这些数据。但是运行的结果却是我操作了新数组,原数的值也改变了。

   /*****************代码段二*****************

   array2.pop();

   array2.push("d");

   var tempStr = "";

   for (var i=0; i<=array1.length; i++)

   tempStr += array1[i];

   alert(tempStr);

   /******************************************

   这让我想起了C/C++里面引用或者指针,可是我翻遍了手边的各种Javascript手册或者教程都没有提到这一概念,但这里新数组确实是原数组的一个引用。而用其他方法来初始化这个新数组就不会出现这样的情况:

   /****************代码段三******************

   var array1 = new Array("a", "b", "c");

   var array2 = new Array(array1);

   /******************************************

   一些思考:win下javascript的数组对象应该是vc++写的class,而作者没有重载"=",所以使javascript的数组直接用"="赋值成为了对源数组的引用。

Tags:javascript 数组 应用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接