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

Javascript
jQuery chili图片远处放大插件
Aptana调试javascript图解教程
JS 动态获取节点代码innerHTML分析 [IE,FF]
jquery 分页控件实现代码
Ruffy javascript 学习笔记
JavaScript 学习笔记 Black.Caffeine 09.11.28
Jquery 快速构建可拖曳的购物车DragDrop
js 变量类型转换常用函数与代码[比较全]
JavaScript 直接操作本地文件的实现代码
兼容IE与Firefox的js 复制代码
让FireFox支持innerText的实现代码
js 表格隔行颜色
Jquery选择器 $实现原理
JS类的封装及实现代码
用Javascript检查Adobe PDF插件是否安装的实现代码
鼠标拖动动态改变表格的宽度的js脚本 兼容ie/firefox
JavaScript Object的extend是一个常用的功能
JavaScript 报表展示实现代码
两种WEB下的模态对话框 (asp.net或js的分别实现)
checkbox全选/取消全选以及checkbox遍历jQuery实现代码

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


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


"