<script src="script1.js" defer></script>
<script src="script2.js" async></script>
<script src="script3.js" defer></script>
<script src="script4.js" defer></script>
script1
console.log('1');
script2
console.log('2');
script3
console.log('3');
script4
console.log('4');
Порядок выполнения в Firefox Quantum бывает следующим(если обновить страницу несколько раз):
1 2 3 4 здесь относительный порядок выполнения не сохранился с defer
2 1 3 4 здесь относительный порядок выполнения сохранился с defer
В Chrome порядок выполнения:
1 3 4 2 здесь относительный порядок выполнения сохранился с defer
Почему возникают такие разногласия?