关于settimeout 奇怪的输出
setTimeout(() => {
console.log('a')
}, 1)
setTimeout(() => {
console.log('b')
}, 0)
setTimeout(() => {
console.log('c')
}, 10)
setTimeout(() => {
console.log('d')
}, 4)
for(let i = 0;i<1000;i++){
console.log(100);
}
结果是a、d、c、b
测试环境:chrome控制台
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为了解答这个问题:我测试了 Chrome/Edge/Safari/Firefox。(都是最新浏览器)
浏览器内部也是不断再调整,所以不要太纠结这种问题,但是关于 setTimeout 还是有些知识点要关注下,
比如:4ms 是怎么回事?
https://html.spec.whatwg.org/...
https://developer.mozilla.org...
以及与 promise 相关的任务队列执行顺序问题。
望有些帮助。
https://developer.mozilla.org...