en.javascript.info/1-js/2-first-steps/2-external-script/3-async-defer-inline-first/solution.md
2015-03-10 12:36:58 +03:00

1.3 KiB
Raw Blame History

Первым выполнится обычный скрипт.

Заметим, что атрибуты defer и async на обычном скрипте будут проигнорированы. То есть, он работает так же, как и без них:

<script>
  alert( "обычный скрипт" );
</script>

Далее, обычно скрипты с async/defer не тормозят обработку страницы. То есть, браузер начнёт их загружать, а сам пойдёт дальше показывать страницу и выполнять скрипты.

То есть, обычный скрипт в этом случае, очевидно, выполнится первым.

...Но более того, даже если скрипты small.js и big.js не нужно загружать, а браузер берёт их из кеша, то он всё равно устроен так, что выполнит их после основных скриптов страницы.

Таким образом, первым всегда будет обычный скрипт, а вот относительный порядок small.js и big.js здесь не регламентирован.