JavaScript async和defer作用

在JavaScript中,async和defer是兩個屬性,它們用於控制腳本的加載和執行方式。

在浏览器加载 script 时, 如果没有 async和defer。 则表示立刻执行。

async屬性是用於標記一個腳本是否異步加載和執行。當腳本的async屬性為true時,瀏覽器會在需要時異步加載該腳本,並且在加載完成後立即執行。這意味著腳本的執行不會阻塞頁面的解析和渲染。
以下是一個使用async屬性的示例:

<script async src="script.js"></script>

在這個例子中,script.js會異步加載並在加載完成後執行。 另一方面,defer屬性是用於控制腳本的執行時間。當腳本的defer屬性為true時,瀏覽器會延遲執行該腳本,直到文檔解析完成後才會執行。這意味著腳本的執行不會阻塞頁面的解析和渲染。
以下是一個使用defer屬性的示例:

<script defer src="script.js"></script>

在這個例子中,script.js會延遲執行,直到文檔解析完成後才會執行。

總之,async和defer屬性都是用於控制腳本加載和執行的方式,它們可以幫助優化頁面的性能和用戶體驗。