当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript中的数组应用的一点发现

Javascript
我也种棵OO树JXTree[js+css+xml]
新浪中用来显示flash的函数
JXTree对象,读取外部xml文件数据,生成树的函数
用js来格式化字符串示例模仿css
js prototype 格式化数字 By shawl.qiu
新浪刚打开页面出来的全屏广告代码
记录几个javascript有关的小细节
Some tips of wmi scripting in jscript (1)
JavaScript Try...Catch 声明的 使用方法
JS版获取字符串真实长度和取固定长度的字符串函数
Javascript中的数学函数
ArrayList类(增强版)
javascript中巧用“闭包”实现程序的暂停执行功能
javascript判断单选框或复选框是否选中方法集锦
FireFox的getYear的注意事项
JavaScript For...In 使用方法
JavaScript Switch 声明
JavaScript If...Else 声明
JavaScript For 循环
JavaScript While 循环 教程

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 245 ::
收藏到网摘: n/a

    今天用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的数组直接用"="赋值成为了对源数组的引用。


"