Такой код:
<script>
setTimeout(function() {
alert('setTimeout-1')
}, 0);
setTimeout(function() {
alert('setTimeout-2')
}, 0);
setTimeout(function() {
alert('setTimeout-3')
}, 0);
</script>
<p>paragraph-1</p>
<script>
alert('one');
</script>
<p>paragraph-2</p>
<script>
alert('two');
</script>
<p>paragraph-3</p>
<script>
alert('three');
</script>
<p>paragraph-4</p>
<script>
alert('four');
</script>
В Firefox сначала выполняются alert (one, two, three, fout), а только потом происходит вызов callback-функции setTimeout. А вот в Chrome сначала alert(one и two), затем callback-функции, а уже потом все остальное. Почему так происходит?