script標簽的abyns屬性和defer屬性的異同

代碼示例:

<scriptasync src="myscript.js" onload="myInit()"></script>

<script defer src="myscript.js" onload="myInit()"></script>



帶有async或者defer的script都會立刻下載并不阻塞頁面解析,而且都提供一個可選的onload事件處理, 在script下載完成后調(diào)用,用于做一些和此script相關(guān)的初始化工作.它們的不同之處在于script執(zhí)行的 時機.帶有async的script,一旦下載完成就開始執(zhí)行(當然是在window的onload之前).這意味著這些script 可能不會按它們出現(xiàn)在頁面中的順序來執(zhí)行,如果你的腳本互相依賴并和執(zhí)行順序相關(guān),就有很大的可能出問題, 例如變量或者函數(shù)未定義之類的錯誤. 而對于帶有defer的script,它們會確保按在頁面中出現(xiàn)的順序來執(zhí)行,它們執(zhí)行的時機是在頁面解析完后,但在 DOMContentLoaded事件之前。

來源:http://www.cnblogs.com/Alight/p/3380783.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 瀏覽器中script標簽加載順序是如何的呢?這個問題折騰了好幾次了,之前弄清楚了以后,覺得做不做筆記的無關(guān)緊要,可...
    世事如煙_f411閱讀 1,706評論 0 1
  • 本文總結(jié)一下瀏覽器在 javascript 的加載方式。關(guān)鍵詞:異步加載(async loading),延遲加載(...
    4ea0af17fd67閱讀 1,116評論 0 2
  • JS下載解析時候會阻塞DOM樹的構(gòu)建,放在HTML頂部 的時候會有可能出現(xiàn)長時間白屏的情況,想讓JS解析時候阻塞D...
    kitssang閱讀 924評論 0 0
  • JavaScript基礎 按照任務中的代碼,在IE8下提示:對象不支持“addEventListener”屬性或方...
    cooore閱讀 481評論 0 0
  • 一.科學管理的原則第一,開發(fā)一門新的科學,以專門研究工人工作的每一個組成部分,并以次取代昔日粗糙的經(jīng)驗法則。第二,...
    panberglee閱讀 2,396評論 0 1

友情鏈接更多精彩內(nèi)容