首页 新闻 会员 周边 捐助

JS中a[,,,]和a[undefined,undefined,undefined]的区别在哪

0
[已解决问题] 解决于 2016-10-26 16:06

在chrome浏览器做的测试如下所示:

为什么会出现红圈1和红圈2处的两个差异,这两个数组的值不都是undefined么?

雨帘轻挂的主页 雨帘轻挂 | 菜鸟二级 | 园豆:220
提问于:2016-10-26 14:49
< >
分享
最佳答案
0

[,,,] 表示只有3个长度的空数组,跟new Array(3)效果是一样的。

[undefined, undefined, undefined] 表示一个有3个undefined的数组。

至于这个"in"  ... 是用来检验属性是否存在的,数组也是对象[滑稽]。

a1 是个空数组 也没有0这个”属性“。

a2 下标0的地方放了一个 undefined 。

奖励园豆:5
长蘑菇星人 | 小虾三级 |园豆:1832 | 2016-10-26 15:48

 还是有个地方不太理解,a1[,,,]声明的数组浏览器console输出的是[undefined * 3]不也是说明是由三个undefined的数组么,为什么是空数组呢

雨帘轻挂 | 园豆:220 (菜鸟二级) | 2016-10-26 15:53

@雨帘轻挂: 是一个有3个长度的空数组。里面没有任何元素。你建了一个3个长度的数组,里面不放东西。你让chrome怎么显示出来合适呢。

长蘑菇星人 | 园豆:1832 (小虾三级) | 2016-10-26 15:57

@长蘑菇星人: 感谢,明白了,感觉好对不起chrome T_T

雨帘轻挂 | 园豆:220 (菜鸟二级) | 2016-10-26 16:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册