[Javascript] async / defer

发布时间 2023-06-11 17:24:46作者: Zhentiw

 

normal script, without async defer:

Script fetched and executed immediately, before browser continues parsing the page (It stops HTML parsing). If the script is large, this can cause noticeable delays in page loading.

 

async:

Script is fetched asynchronously while HTML is parsing. Once the script is fetched, parsing the HTML is pasued to execute the script and then it resumes.

async attr ensures that the script is executed asap, but it doesn't guarantee the order of the execution.

defer:

The script is fetched asynchronously while the HTML is parsing, just like async. But defer delays the execution of the script unitl the HTML document is fully parsed.

`defer` maintain their relative order of execution. That means if you have multiple deferred scripts, they will execute in the same order as they appear in the document.

 

async defer:

If async and defer appear together, then async take control over defer. Some old browser doesn't support async then it fallback to defer.

 

 

Answer: D E A B C