javascript/js数组直接量省略值是否创建稀疏数组

本人最近在看javascript权威指南第6版;其中第7.3稀疏数组(147页)中间以及它下面的第二个段落。这两个段落及示例如下:1、注意,当在数组直接量中省略值时不会创... 本人最近在看javascript权威指南第6版;
其中第7.3稀疏数组(147页)中间以及它下面的第二个段落。
这两个段落及示例如下:
1、注意,当在数组直接量中省略值时不会创建稀疏数组。省略的元素在数组中数存在的。
var a1 = [,,,]
0 in a1; //返回true
2、需要注意的是,当省略数组直接量中的值时,这是所得到的数组也是稀疏数组,省略掉的值是不存在的。
var a2 = [1,,3]
0 in a2; //返回false
哪位大神帮我解答下,这两段话前面明明是一样的为什么会有不同的结果。
而且我在浏览器中测试,1的那个段落例子实际上返回的是false,难道是书本写错了?
展开
 我来答
zhou2003737
2014-10-14 · TA获得超过1427个赞
知道小有建树答主
回答量:1082
采纳率:77%
帮助的人:404万
展开全部

亲,这是147页稀疏数组内容,是你自己写错了问题吧?

追问

没写错那!

你自己 把 var a1 = [,,,];  0 in a1;放入浏览器中调试下看,返回的明明是false,他这上面写的是true。!

追答
嗯 是的。我也好奇,为何 [,][0]明明等于 undefined。[undefined][0] 也是undefined。
0 in [undefined] 为 true
0 in [,] 为false
你没写错,我混乱了。
风铃冷冷2
2014-10-14 · TA获得超过1799个赞
知道小有建树答主
回答量:833
采纳率:0%
帮助的人:510万
展开全部
应该是注释错了;我这边测试火狐和chrome都是反过来的。
追问
我这边两个注意下面所给的例子:
0 in a1;返回值均为false。
本身注意的两个段落讲的是一回事,却是有不同的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinesepandary
2017-10-29
知道答主
回答量:2
采纳率:0%
帮助的人:1968
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式