当前位置: 首页 > Web前端 > HTML

JS函数执行时机

时间:2023-03-29 11:16:15 HTML

Case1for(vari=0;i<6;i++){setTimeout(()=>{console.log(i)},0)}上面的代码会打印66,原理是:setTimeout会等到当前代码的for循环执行完,再执行console.log(i),for循环执行完后,i已经是6了,所以会打印出6个6的情况。当使用settimeout,可以依次打印出0、1、2、3、4、5,使用Let。let会单独创建一个作用域,相当于6ifor(leti=0;i<6;i++){setTimeout(()=>{console.log(i)},0)}