Лектор душнячий с синдромом препода. Вроде и интересно но тошно слушать
@biovawan2 жыл бұрын
Спасибо за ценный контент! Просьба, показывайте контент без спикера. Слайды важнее и на мобильных лучше видно
@spoonjeee47854 жыл бұрын
круто и очень тихо
@demimurych14 жыл бұрын
Кто не знает разницу между defer и async? Докладчик не знает. Они отличаются не только очередностью загрузки, а если быть точным, очередность это следствие. defer скрипт будет выполнен всегда ПОСЛЕ dom ready и всегда ПЕРЕД window loaded. В отличии от async который будте выполнен ровно тогда, когда скрипт будет загружен (готов), что естественно может произойти в любое время.
@alexey29694 жыл бұрын
`defer` будет выполнен по завершению парсинга документа и перед событием `DOMContentLoaded` (www.w3.org/TR/html52/semantics-scripting.html#script-processing-model). `async` as soon as possible but before window `load` event.
@demimurych14 жыл бұрын
@@alexey2969 Это очевидно, потому что событие window load генерируется только после того, когда загружаются все ресурсы присутствующие в DOM. Иными словами рассуждая на тему defer или async в рамках загрузки страницы, мы априори говорим о ситуации между началом загрузки и событием onload. Где async может сработать в любое время, срабатывание же defer определено окном domcontent loaded и window load P.S. В случае стандартов связанных с HTML или JS читать нужно не W3 версию спецификации, ей можно клопов давить, а WHATWG версию, которая является стандартом дефакто с 2014 года, что признано самой W3 где то пол года назад.
@alexey29694 жыл бұрын
@@demimurych1 Если можно, ссылку на место в спецификации с определением «окна» выполнения, спасибо.
@demimurych14 жыл бұрын
@@alexey2969 Вот теперь мне ясно почему вы ерничаете. Де юрэ вы правы, нигде в документации естественно никакого окна не определено. Если ваш вопрос заключался именно в этом - то ради бога. Де факто, defer может быть выполнен в момент только _when the page has finished parsing_ то есть в момент события domcontentLoaded, чтобы избежать лексической неоднозначности в документации совершенно справедливо указано, что не во время, а строго перед наступлением события откладывая его возникновение. Если строго следовать букве, то естественно мое утверждение об некоем окне неправильно. Если же смотреть на последовательность событий фактически: defer => _when the page has finished parsing_ => execute defer => window load то становится очевидным что defer никогда не выполниться раньше фактического domcontent loaded и тем более после window loaded. Что никак не противоречит сказанному мной. Кроме конечно той части, что я выделил этому процессу все множество между domcontent loaded и loaded, спецификация же настаивает на строгом: "во время". Что в сущности не имеет уже ровно никакого значения, потому как нет никакой разницы в том, выполнится defer во время domcontentloaded или в промежутке между ним и windowload. Подводя Игого всему этому, как и сказано в первом моем комментарии, async может быть выполнен когда угодно, defer в строгом детерминированном окне. Справедливое, но совершенно бесполезное с практической точки зрения уточнение к этому, что окна никакого нет, но есть первое из множества того самого окна когда defer обязательно выполняется. Что совершенно ни на что не влияет, кроме максимальной предсказуемости defer которая в то время уже не имеет никакого значения.