• 431

关于setTimeout()函数

for( var i = 1; i < 10; i++ ){
    setTimeout( function(){
        colsole.log(i);
    }, i * 1000);
}

我能理解为什么最后输出的全是10, 但是我不能理解为什么是1秒1次;求解答?

按我的理解,应该是第一次1秒,第二次2秒,,依次下去

阅读 2.5k
评论
    8 个回答
    • 44

    setTimeout(function(){},time)就是给一个函数设置定时器,当成一个方法来用,你在循环里面调用,就相当于调用了十次,然后同时执行,然后一秒完了就变成两秒三秒那样,如同一楼说的一样!如果要实现你说的那样,必须让他们加上上一个定时器时间才会出现你要的效果

      相似问题
      推荐文章