日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js异步加载 defer和async 比较

發布時間:2024/6/21 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js异步加载 defer和async 比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網上說法很多,很少一句話能總結清楚的,終于找到兩句一針見血的描述,很到位:

?

相同點:都不阻塞DOM解析

?

defer ?:順序:保證先后順序。解析:HTML 解析器遇到它們時,不阻塞(腳本將被異步下載),待文檔解析完成之后,執行腳本。

?

async ?:順序:不保證先后順序。解析:HTML 解析器遇到它們時,不阻塞(腳本將被異步下載,一旦下載完成,立即執行它),并繼續解析之后的文檔。

?

總結一下:defer 效果是 :js異步下載完畢后DOM解析完成后DOMContentLoaded 事件觸發之前按照按頁面腳本出現次序順序從上至下依次執行!

? ? ? ? ? ? ??async 效果是:哪個js先下載就先執行,不按頁面腳本出現次序順序,js的執行一定是在?window的load事件觸發之前

?

順便一提:window的load事件會在頁面中的一切都加載完畢時觸發,但這個過程可能會因為要加載外部資源過多而頗費周折。

? ? ? ? ? ? ? 而DOMContentLoaded事件則在形成完成的DOM樹之后就會觸發,不理會圖像、JavaScript文件、CSS文件或其他資源是否已經下載完畢。

?

個人建議:如果加載的JS存在依賴關系,建議使用defer來保證安全,否則使用async即可

? ? ? ? ? ? ? 已獲得廣泛瀏覽器支持,但使用時需要查詢兼容性!

?

轉載于:https://www.cnblogs.com/xmyxm/p/5767043.html

總結

以上是生活随笔為你收集整理的js异步加载 defer和async 比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。