javascript中关于数组中用逗号省略的元素,javascript 权威指南第147页 5

javascript权威指南第147页。如下图,我用console.log(0ina1);输出的结果是false,而不是书上说的true,还有console.log(a1... javascript 权威指南第147页。
如下图 ,我用console.log(0 in a1); 输出的结果是false,而不是书上说的true,
还有console.log(a1);输出的结果是[ ],而不是书上说的[undefined,undefined,undefined]
是书上错了吗?我用的是GoogleCrome浏览器.
展开
 我来答
cqzhangkang
2014-03-25 · TA获得超过528个赞
知道小有建树答主
回答量:151
采纳率:57%
帮助的人:66.5万
展开全部

0 in a1 对于数组来说 0表示的是下标。通过这样的例子能证明:

var arr = [1,2,3];
for(var i in arr){
    console.log(i+' '+arr[i]);
}

输出结果是:
0 1
1 2
2 3

显然i是下标

我也有点想不通,a1.length的确是3,但是我通过验证,console.log(0 in a1);的确输出是false,看来是书上错了。

而console.log(a1);浏览器输出的是[undefined × 3],和书上说的[undefined,undefined,undefined]是一个意思。

sgj773624926
2014-03-25 · TA获得超过184个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:87.8万
展开全部
不要使用console.log(a1);直接用a1,然后回车,就会得到[undefined × 3],我测试的0 in a1的输出的结果也是false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tsotsi
2014-03-25 · TA获得超过940个赞
知道小有建树答主
回答量:1367
采纳率:55%
帮助的人:691万
展开全部
请用firefox,浏览器不同,对javascript的解释有些不一样。书上的应该是标准javascript。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式