JavaScript对多维数组是怎么支持的?

cnonline 2003-06-18 06:29:45
<script>
tv=new Array();
t=new Array();
tv[1]=t;
tv[2]=t;
tv[1][1]=new Array(12,"Volune_12","TestComment_12");
tv[2][1]=new Array(13,"Volune_13","TestComment_13");

alert(tv[1][1][0]);
</script>

为什么tv[1][1][0]的值是13而不是12?
...全文
53 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoweiwei 2003-06-29
  • 打赏
  • 举报
回复
数组的数组就是多维数组
michael_monkey 2003-06-28
  • 打赏
  • 举报
回复
学习
kingdomzhf 2003-06-19
  • 打赏
  • 举报
回复
tv[1],tv[2]指向了同一个对象,他们是互相影响的
xdspower 2003-06-19
  • 打赏
  • 举报
回复
同上
michael_monkey 2003-06-18
  • 打赏
  • 举报
回复
funboy88 2003-06-18
  • 打赏
  • 举报
回复
在JS里,对于对象的操作,实际上是传的地址,
只是引用而已,

不是传值的,

有点类似于C里面的指针的叫法,还有C++里的引用的叫法
funboy88 2003-06-18
  • 打赏
  • 举报
回复
<script>
tv=new Array();
t=new Array();
tv[1]=new Array();
tv[2]=new Array();
tv[1][1]=new Array(12,"Volune_12","TestComment_12");
tv[2][1]=new Array(13,"Volune_13","TestComment_13");

alert(tv[1][1][0]);
</script>


这样是12
你的
t=new Array();
tv[1]=t;
tv[2]=t;
1,2都指向了同一个了,这种是传地址的,两个都指定了同一个地址,相当于是指针的,同时指向了同一处,

这样,你两次赋值其实是给一个东西赋值,也就是给t赋值,
你分别创建的话,就不会出现这个问题

你不妨试试,把那个两个的先后次序换一下,看看是不是显示后一次的,

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧