Выбор ответа Junior Рендеринг страницы спрашивают часто обновлено

async и defer

Вопрос

Три скрипта подключены с defer: a.js, b.js, c.js. c.js скачался первым. В каком порядке они выполнятся?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: a, b, c после разбора HTML. defer качает скрипты параллельно, но выполняет их в порядке подключения и только после того, как HTML разобран, перед DOMContentLoaded.

Варианты ответа

  1. c, затем в порядке загрузки остальных
  2. В случайном порядке
  3. a, b, c после разбора HTMLправильный ответ
  4. a, b, c сразу по мере загрузки, до конца разбора HTML

Разбор

defer качает скрипты параллельно, но выполняет их в порядке подключения и только после того, как HTML разобран, перед DOMContentLoaded. Выполнение по мере загрузки в любом порядке это поведение async. Вариант с выполнением до конца разбора смешивает defer с обычным скриптом.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.