为了账号安全,请及时绑定邮箱和手机立即绑定

数组的冲突

当var myarr=new array(8);            //即括号内只有一个数字

8的含义为该数组的指定长度

当var myarr=new array(8,9)         //括号内变量数大于1

8的含义为myarr[0]

这是否有冲突?数组的变量数不能为1吗?

正在回答

2 回答

这样定义两个数组,上面的数组长度是8,下面的数组长度是2,就像你说的第一个元素的值是8,第二个元素的值是9.但是你这么定义是有问题的。因为两个数组是的名字是重复的,并且都用到了var关键字,浏览器会认为你要定义两个数组,但是数组名还一样,所以冲突了

1 回复 有任何疑惑可以回复我~
#1

云林雨 提问者

我的意思不是这两行代码同时存在,而是为了比较变量数对输出结果的影响。即变量数为一个时判断为数组长度,变量数为多个时判断为变量值。我后来有点想通了,还是谢谢你=8=
2016-06-26 回复 有任何疑惑可以回复我~
#2

Newbie1314 回复 云林雨 提问者

我可能到现在也没弄明白什么意思。。。我觉着你已经很明白了,如果Array()的()里只有一个值,那就是表示数组的长度,如果是两个或者以上的值,那就是表示数组元素的值。不知道我这么理解对不对。然后我建议你遇到问题的时候适当尝试自己解决,因为到工作岗位上,遇到问题是没人帮你解决的,只能靠自己,这样慢慢你一定会是大牛。
2016-06-26 回复 有任何疑惑可以回复我~
#3

ztt0610

var myarr=new array(8),这不是代表数组的第一个值是8么?数组的长度是1。怎么代表数组的长度是8了呢?
2016-07-27 回复 有任何疑惑可以回复我~
#4

Newbie1314 回复 ztt0610

如果括号里只有一个数,就代表数组长度了,如果是两个数或以上,就是数组元素。 http://www.w3school.com.cn/tiy/t.asp?f=jsrf_array 你可以在这里测试一下
2016-07-27 回复 有任何疑惑可以回复我~
#5

ztt0610 回复 Newbie1314

非常感谢!!!
2016-07-27 回复 有任何疑惑可以回复我~
#6

YoloMonkey 回复 云林雨 提问者

也就是说数组必须有至少两个变量数才称为“数组”,是吧?
2016-08-04 回复 有任何疑惑可以回复我~
#7

qq_谜离_03319966 回复 YoloMonkey

一个的话 直接定义 变量就可以了 何必用数组
2016-10-12 回复 有任何疑惑可以回复我~
查看4条回复

那样代码是可以运行,按理论上讲确实有点问题myarr已经定义了是一个空数组赋值不需要再次var

最好还是这样写吧,这样写确实有点麻烦也可定义的时候直接赋值

var myarr=new Array(8); 

   alert(arr.length);

  myarr[0]=8;

  myarr[1]=9;

 alert(arr[0]);


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

数组的冲突

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信