作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚尝试执行下面的代码
setTimeout(function(){ console.log(1); }, 0);
setTimeout(function(){ console.log(2); }, 0);
setTimeout(function(){ console.log(3); }, 0);
上面的代码按顺序记录了 1、2、3。但是如果我用秒值 0, 1, 1 做同样的事情
setTimeout(function(){ console.log(1); }, 0);
setTimeout(function(){ console.log(2); }, 1);
setTimeout(function(){ console.log(3); }, 0);
上面的代码仍然按顺序记录相同的 1、2、3。在 Chrome 中测试了这一点!
想知道这是否是由于 console.log()
导致的。对此有何意见?
最佳答案
当所述等待时间已经过去时,HTML 标准不要求用户代理严格按照其预期等待时间对排队的计时器事件进行排序。第三次调用 setTimeout
、返回原生代码并从事件循环运行第一个 JS 回调很可能需要超过 1 毫秒,因此在重新进入时立即运行第二个回调接下来的事件循环与运行第三个事件循环一样合乎逻辑。
关于javascript - setTimeout函数依次是0,0,0还要0,1,0怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26764399/
我不知道如何描述这一点。我在一个页面上有几个 div,类似于: some lorem ipsum text here Macbeth s
我是一名优秀的程序员,十分优秀!