1. 程式人生 > >script標籤defer和async的不同

script標籤defer和async的不同

參考:https://www.cnblogs.com/neusc/archive/2016/08/12/5764162.html點選開啟連結

 1.<script src="example.js"></script>

   沒有defer或async屬性,瀏覽器會立即載入並執行相應的指令碼。也就是說在渲染script標籤之後的文件之前,不等待後續載入的文件元素,讀到就開始載入和執行,此舉會阻塞後續文件的載入;

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

     有了async屬性,表示後續文件的載入和渲染與js指令碼的載入和執行是並行進行的,即非同步執行;

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

         有了defer屬性,載入後續文件的過程和js指令碼的載入(此時僅載入不執行)是並行進行的(非同步),js指令碼的執行需要等到文件所有元素解析完成之後,DOMContentLoaded事件觸發執行之前。