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

Javascript
11款基于Javascript的文件管理器
5款Javascript颜色选择器
JavaScript 对话框和状态栏使用说明
状态栏 时间显示效果 数字钟
在图片上单击获取图片原始大小
禁止在图片上使用右键
javascript 操作Word和Excel的实现代码
几个javascript操作word的参考代码
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
解决表单中第一个非隐藏的元素获得焦点的一个方案
解决jquery .ajax 在IE下卡死问题的解决方法
javascript 实现划词标记划词搜索功能
用Greasemonkey 脚本收藏网站会员信息到本地
javascript 关于# 和 void的区别分析
DIV+CSS+JS 变灰弹出层
Ajax+Json 级联菜单实现代码
javascript 读取XML数据,在页面中展现、编辑、保存的实现
html 锁定页面(js遮罩层弹出div效果)
基于jQuery的日期选择控件
javascript获得CheckBoxList选中的数量

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


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


"