问以下代码的执行的可能结果有几种?
window.setTimeout(function(){
console.log(1);
},1);
window.setTimeout(function(){
console.log(2);
},2);
window.setTimeout(function(){
console.log(3);
},3);
window.requestAnimationFrame(function(){
console.log(4);
},4);
虽然知道考察点是js的异步任务和不同浏览器下的执行问题,但是具体还是不清楚。
1、在IE 9以上的版本下的执行结果为4 1 2 3,在IE9一下版本由于不支持requesAnimationFrame只出现1 2 3
2、Chrome下的执行结果为1 2 3 4,但是刷新后会产生不同的结果:1 2 3 4,4 1 2 3,1 4 2 3,1 2 4 3
3、在FF下执行的结果为4 1 2 3,但是刷新后会产生不同的结果:1 2 3 4,4 1 2 3
为什么在火狐和chrome下会出现这种情况?