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

JS 函数的执行时机

作者: 我是WilliamWang | 来源:发表于2020-03-18 17:14 被阅读0次

    为什么以下代码执行打印出6个6

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

    setTimeout(),设置了一个定时器,在定时器到期后执行一个函数或指定的一段代码,这里延迟时间是0,可以当成尽快打印出i。

    由于每执行一次for循环就要定一次时,也就是说每次循环都有一个闹钟,但是到循环结束才会打出结果,一共执行了6次循环,那么就定了6个闹钟,每次到期后打印出1个6,总共打印6次

    怎样才能让上面代码打印出0、1、2、3、4、5

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

    将let写进for循环里,每循环一次,let就会新创建一个i,这是JS为了满足大众需求创建出来的

    除了使用 for let 配合,以下方法也可以打印出 0、1、2、3、4、5

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

    相关文章

      网友评论

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

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