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

对于你们来说JavaScript的小问题

对于你们来说JavaScript的小问题

__HelloWorld_ 2018-02-02 09:53:21
for(var i=1;i<=9;i++){       setTimeout(function(){                 console.log(i);         },10)  } 结果为什么不是1-9这样输出?而是直接输出10呢?
查看完整描述

4 回答

已采纳
?
西兰花伟大炮

TA贡献376条经验 获得超318个赞

任务队列的问题,for循环是同步任务,先执行,定时器是异步任务,被放入任务队列,等到同步任务执行完了再执行,这时候i是多少嘛?肯定都是10啊

查看完整回答
3 反对 回复 2018-02-02
  • __HelloWorld_
    __HelloWorld_
    谢谢!还有就是除了定时器是一步在外,还有别的吗?可以举个例子吗
?
__HelloWorld_

TA贡献1条经验 获得超1个赞

谢谢!还有就是除了定时器是一步在外,还有别的吗?可以举个例子吗

查看完整回答
1 反对 回复 2018-02-02
?
慕函数9118233

TA贡献5条经验 获得超0个赞

是这样的

查看完整回答
反对 回复 2018-02-02
?
__innocence

TA贡献313条经验 获得超208个赞

for(let i=1;i<=9;i++){
      setTimeout(function(){
                console.log(i);
        },10)  
}


查看完整回答
反对 回复 2018-02-02
  • 4 回答
  • 1 关注
  • 1505 浏览
慕课专栏
更多

添加回答

举报

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