- 打印出6个6
let i = 0
for(i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
打印出6个6的原因在于 setTimeout(),意思是此函数延迟执行,所以当系统每一次循环执行console.log(i)时,for循环已经停止循环,i此时已经等于6,由于进行了6次循环,所以返回了6个6值。
- 打印出0,1,2,3,4,5
for(let i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
[1,2,3,4,5].forEach(function(item, index){
console.log(`${index}}`)
})
let i=0
for(i=0;i<6;i++){
! function(j){
setTimeout(()=>{
console.log(j)
},0)
}(i)
}
及时函数