JS 函数的执行时机

47 阅读1分钟
let i = 0
for(i = 0; i<6; i++){
  setTimeout(()=>{
    console.log(i)
  },0)
}
  • 6,6,6,6,6,6
  • setTimeout把手上的事做完,尽快马上执行
  • 先执行完循环,i === 6,之后打印6次6
for(let i = 0; i<6; i++){
  setTimeout(()=>{
      console.log(i)
   },0)
 }
  • 0,1,2,3,4,5
  • JS在forlet一起用的时候会加东西,每次循环多创建一个i