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

js中for..in的用法

js中for..in的用法

hcl哦了 2016-03-12 16:26:31
<script type="text/javascript"> var x var mycars = new Array() mycars[0] = "a" mycars[1] = "b" mycars[2] = "c" for (x in mycars) { document.write(mycars[x] + "<br />") } </script>x不用设置初始值吗?这个语句输出了所有的数组元素,与document.write(mycars)有什么区别?
查看完整描述

3 回答

已采纳
?
ruibin

TA贡献358条经验 获得超213个赞

这里x是没有初始值的,在不同的浏览器中表现不一样,相当于一个随机数。在chrom浏览器里面,你可能总是看到x的第一个值为0(这里的x是key值,即属性名),在ie、oprea或者其他可能第一个值就是2.for  in循环和for循环不一样是个无序循环。

第二个问题,你这里输出的是数组里面的每一个元素,而不是数组。而document.write(mycars)输出的是整个数组。一个是整体一个是个体。 

查看完整回答
反对 回复 2016-03-16
?
ruibin

TA贡献358条经验 获得超213个赞

我聊天区回答不了,好像是有点bugg,只能在评论区回答,或者点你头像才能回答。

查看完整回答
反对 回复 2016-03-17
?
wblovezqy

TA贡献14条经验 获得超4个赞

1.x在没有初始化前使用才会报错。
2.document.write( mycars ); 相当于document.write( mycars.toString() );

查看完整回答
反对 回复 2016-03-12
  • hcl哦了
    hcl哦了
    x默认是0吗?为什么这里没有赋值
  • wblovezqy
    wblovezqy
    x没有初始化前是, for in 循环的顺序一般是对象属性定义时的顺序如:{"x":1, "y":2}那顺序就是先x后y
  • wblovezqy
    wblovezqy
    x没初始化前是u ndefined 这里被网站给过滤了
  • 3 回答
  • 0 关注
  • 1694 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信