- 什么是定时器?
setTimeout:一种定时器,可以在指定的毫秒数后调用函数或计算表达式
return timeoutID=setTimeout(function,delayTime,arg1,arg2,...)
- function:delayTime(ms)到期后执行的函数
- delayTime:1s=1000ms,deLayTime=0:尽快执行:等当前函数执行结束后执行。
- argN:定时器到期,会作为参数传给function
- timeoutID:定时器的编号,一个正整数,可以clearTimeout()消除定时器时候使用的值
- 下列函数i打印出什么?
let i =0
for(i=0
setTimeout(()=>{
console.log(i)
},0)
}
- 结果:6个6
- 原因: &i=0x0000????,i申请了一个地址,传入for循环中,等for循环结束后i自增为6,这时候setTimeout执行,每一次for循环,setTimeout复制一次,等循环结束,有6个定时器,逐次打印当前i
- 让上述代码打出0,1,2,3,4,5
for(let i=0
setTimeout(()=>{
console.log(i)
},0)
}
- 其他打印出0,1,2,3,4,5的方法
let i=0
for(i=0
let num=i
setTimeout(()=>{
console.log(num)
},0,num)
}