关于settimeout的问题
来源:4-9 event-loop - 总结
寂寞追不上我
2018-03-13
请问下老师
for(var i = 0; i< 5;i++){
setTimeout((function(i){
console.log(i)
})(i), i*1000);
}
settimeout 第一个参数传递立即执行函数,在被放入栈之后也会立即执行而不会等待延迟执行?
写回答
2回答
-
setTimeout的第一个参数可以接收函数或者是用字符串代替function。而这里传入的立即执行函数会立即执行,其返回值是undefined,相当于setTimeout(undefined, i*1000),它不会进入等待执行的队列,并且会报错。 所以会立即输出01234
132018-03-13 -
双越
2018-03-13
是否立即执行,那得看 setTimeout 第二个参数啊,即延期时间
022018-03-13
相似问题