JS 函数的执行时机

1. 解释为什么如下代码会打印 6 个 6
let i = 0
 for(i = 0; i<6; i++){ 
setTimeout(()=>{ 
console.log(i) 
},0) 
}
答:setTimeout的意思就是等一会再执行,先把上面的语句执行完了再执行console.log,也就是把for循环全部执行完,那么for循环执行完后就是6,之后就再打印6个6
 
2.写出让上面代码打印 0、1、2、3、4、5 的方法
1 for (let i = 0;i<6;i++){ 
2 setTimeout(()=>{ 
3 console.log(i) 
4 },0) 
5 }

 

3 除了使用 for let 配合,还有什么其他方法可以打印出 0、1、2、3、4、5
1 for(let i = 0; i<6; i++){
2  fn(i);
3  } 
4 function fn(i){ 
5 setTimeout(()=>{ 
6 console.log(i)
7  },0)
8  }

 

 
 
 
posted @   天生如此  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示