js数组赋值要注意的问题

作者: 我不是鱼 (2009-06-20 21:24)分类: Javascript   标签: js 数组 引用

举个例子说明下

JavaScript代码
  1. <script type="text/javascript">   
  2. var pic = thumb = new Array();   
  3. for(var i=0; i<2; i++){   
  4.     pic[pic.length] = i;   
  5.     thumb[thumb.length] = i;   
  6. }   
  7. </script>  

这样赋值后原以为 pic和thumb的值都是 [0, 1]。其实不然,它们两个的值都是[0, 0, 1, 1].
原因是这种复制方式引起的 var pic = thumb = new Array(); js数组是引用传递的。
但如果是字符串,这样:var pic = thumb = ''; 又不会有这个问题。
数组改成这种方式就没有问题了
var pic = new Array(), thumb = new Array();

评论 (1) | 浏览 (8821)

前一篇: Dean Edwards 的php版的 JavaScript Packer 压缩JavaScript后无法运行的问题
后一篇: IE中document.createElement的iframe无法设置属性name问题


评论

我也遇到这个问题了. 以前没注意到..呵呵
[游客]airwin 2009-06-23 17:40

1

添加评论

昵称:


博主


« 2020年-12月 »
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2

分类


热门标签


最近留言


概要

  • 文章数量: 41
  • 分类数量: 9
  • 标签数量: 73
  • 评论数量: 159
  • 浏览次数: 3236506

友情链接