script

总体情况下,setImmediate < readystatechange < onmessage < setTimeout 0 < requestAnimationFrame
因此我们可以简单封装一个快速执行异步function的方法:


var setZeroTimeout = (function(){
if(window.setImmediate){ //IE10+版本,使用原生setImmediate return window.setImmediate; }
else if("onreadystatechange" in document.createElement("script")){
return function(){/* 使用onreadystatechange的版本 */} }
else if(window.postMessage){
return function(){/* 使用onmessage的异步执行版本 */} }
else { return window.setTimeout; } 
})();

你可能感兴趣的:(script)