《JS 函数的执行时机》

112 阅读1分钟

在解释 JS 函数的执行时机之前,我们先看一段代码

let i = 0
for(i = 0; i<6; i++){
  setTimeout(()=>{
    console.log(i)
  },0)
}

这段代码的结果是 6 6 6 6 6 6 6 要解释这段代码就要回到这个执行时机了。 在执行 console.log(i) 之前,这段代码就已经执行了完成6次 i++ 的动作,所以结果当然是6 个6,如果我们想让它依次打印从1+到6可以参照下面的代码:

for(let i = 1; i<7; i++){
  setTimeout(()=>{
    console.log(i)
  },0)
}

这段代码的结果是 1 2 3 4 5 6 。