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

关于JavaScript for in的问题

关于JavaScript for in的问题

神不在的星期二 2019-09-13 10:06:12
代码如下varobj={a:1,b:2,c:3}functionkeys(obj){vara=[];for(a[a.length]inobj);returna;}这个代码forin语句中,循环应该是从0-3吧。那么为什么,a.leng取出来一直是3?即使我这样取也是3for(a[a.length]inobj);{(function(i){console.log(i)})(a.length)}或者这样letind=0;for(a[ind++]inobj);{(function(i){console.log(i)})(ind)}问题是1.这个forin中a[a.length]是循坏累加的吗?2.为什么我无法取得从0-3变化数值
查看完整描述

2 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

for(a[a.length]inobj);//<<<<<这里有一个;的话,你的循环体就是一个空语句。
//下面的语句在循环外,所以只打印最终的a.length(循环已经结束了)
{
(function(i){
console.log(i)
})(a.length)
}
                            
查看完整回答
反对 回复 2019-09-13
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

没看懂你想干嘛,建议你修改下你想循环对象的属性就直接for(varpropinobj)下面的你带个for后面带个分号就结束了,肯定只有一次循环
                            
查看完整回答
反对 回复 2019-09-13
  • 2 回答
  • 0 关注
  • 233 浏览
慕课专栏
更多

添加回答

举报

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