1、今天试了下settimeout这个方法,发现第一个传参是函数和执行代码,效果不一样for( var i = 0; i < 5; i ++ ){
setTimeout(()=>{
console.log( i );
},2000)
}
输出 5个5for( var i = 0; i < 5; i ++ ){
setTimeout(console.log( i ),2000)
}
输出 012342、我的猜想是第一个传参是先预读了,第一种方式是函数,所以函数内部代码没有预读,第二个是执行代码,预读了然后延时执行?不知道我的猜想对不对?
2 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
试一下这个
for( let i = 0; i < 5; i ++ ){ setTimeout(()=>{ console.log( i ); },2000) } for( let i = 0; i < 5; i ++ ){ setTimeout(console.log( i ),2000) }
- 2 回答
- 0 关注
- 572 浏览
添加回答
举报
0/150
提交
取消