动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   JavaScript → 阅读文章

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

作者来源: 
阅读 数 57 人次 , 2006-3-29 3:48:00 


今天用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表单之间的数据传递
· 下一篇:一个很通用的JavaScript下拉菜单
· 有趣的javascript程序:抓不到我
· Javascript实例教程(6) 在一个表单中设置和检查Cookies
· JavaScript实例 弹出窗口
· JavaScript实例 实现聊天室在线人员无刷新
· JavaScript学习:基础继承机制


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077