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

Javascript
ext实现完整的登录代码
ext form 表单提交数据的方法小结
收藏,对比功能的JS部分实现代码
js可突破windows弹退效果代码
js获取div高度的代码
JS支持带x身份证号码验证函数
javascript的indexOf忽略大小写的方法
js活用事件触发对象动作
Javascript访问html页面的控件的方法详细分析
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
js仿淘宝的拼音检索特效代码
鼠标放上去触发一个javascript提示框效果代码
FF下zoom的替代方案 单位em
json编写简单一例
js取得2008奥运金牌排名
js常用函数2008-8-16整理
一些不错的js函数ajax
javascript:void(0)的真正含义实例分析
解决AJAX中跨域访问出现''没有权限''的错误
比较详细的XMLDOM对象方法详解

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 348 ::
收藏到网摘: 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的数组直接用"="赋值成为了对源数组的引用。

 "