美文网首页
JS 函数的执行时机

JS 函数的执行时机

作者: cy_Wey | 来源:发表于2022-07-18 20:52 被阅读0次
    for (var i = 0 ; i < 6 ; i++) {
      setTimeout(() => {
      console.log (i)
      }, 0)
    }
    

    这个循环会打印 6 个 6,而不是 0,1,2,3,4,5 因为 for 语句执行完后,i 立马会变成 6,并执行了 6 次 setTimeout。

    如果要打印出 0,1,2,3,4,5,

    可将 var 改成 let。

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

    或者将 setTimeout 放在 for 的外层。

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

    相关文章

      网友评论

          本文标题:JS 函数的执行时机

          本文链接:https://www.haomeiwen.com/subject/hgvdirtx.html