js定时器问题,求大神支招。

为什么会1秒后打印10个1,我想让他一秒打印一个,怎么改一下啊?

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

}
var i=10;
var t=setInterval(function(){
    console.log(1);
    i--;
    if(i==0){
        t=clearInterval(t);
    }
},1000);

for循环瞬间就完成了,相当于瞬间执行了10次setTimeout....

用setInterval方法即可