Javascript 设置超时和渲染周期
我很好奇在使用javascript setTimeout时,幕后到底发生了什么 示例代码:Javascript 设置超时和渲染周期,javascript,google-chrome,firefox,webkit,rendering,Javascript,Google Chrome,Firefox,Webkit,Rendering,我很好奇在使用javascript setTimeout时,幕后到底发生了什么 示例代码: setTimeout(function(){ // some sync js code #1 ... // some code that will trigger a render (change in the DOM) #1 }); setTimeout(function(){ // some sync js code #2 ... // some code that wil
setTimeout(function(){
// some sync js code #1 ...
// some code that will trigger a render (change in the DOM) #1
});
setTimeout(function(){
// some sync js code #2 ...
// some code that will trigger a render (change in the DOM) #2
});
我猜会发生的事情是这样的:
- 输入setTimeout#1
- 同步代码#1
- 注册喷漆事件#1
- 正在退出设置超时#1
- 渲染/喷漆事件#1
- 输入setTimeout#2
- 同步代码#2
- 注册喷漆事件#2
- 退出设置超时#2
- 渲染/喷漆事件#2
我不知道其他浏览器 那么,我的直觉正确吗?
- 浏览器是否总是在每个设置超时周期之间执行挂起的渲染/绘制
- 如果没有,在哪些情况下没有
- 浏览器之间有区别吗?(Chrome、Firefox、IE……)