async和defer的作用是什么?有什么區別

  1. 同步與異步的概念:
    同步:一件事情的開始,必須等待上一件事情的完成。若上一件事情沒有完成,這件事情就會一直等待它完成,再執行。
    異步:一件事情的開始,不必等待上一件事情的完成。這兩個事情可以分開進行的。

  2. async和defer都是可以讓js文件異步調用。

  3. 區別:
    async可以讓js文件立刻進行異步調用,僅適用于外部腳本(只有在使用 src 屬性時),同時這個是html5的新屬性。
    支持的瀏覽器:


    Paste_Image.png
            defer雖然也是異步調用,但是其的執行要等待頁面元素解析之后,同時在DOMContentLoaded事件觸發之前才可以。是一種延遲性的異步加載。
           支持的瀏覽器:
    
Paste_Image.png
          DOMContentLoaded事件:是讓網頁的DOM元素解析之后,立刻觸發,而無須等待其他元素(css樣式表、圖像、iframe)的加載。http://www.html5jscss.com/mian_ready.html

**嚴禁轉載,違者必究!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容