setTimeout中的闭包函数是每1s执行一次 由于for循环的执行速度远小于1s, gnijlk 2022-07-25 71 阅读1分钟 setTimeout中的闭包函数是每1s执行一次 由于for循环的执行速度远小于1s, 所以当开始执行闭包函数的时候for循环已经结束了(i=10), 之后闭包函数执行十次(因为循环了10次),所以打印了10个10。 以下运行结果: for(var i = 0; i < 10; i++) { setTimeout(function() { console.log(i); }, 1000); }