1 全部<script>元素都會按照他們在頁面中出現的前後順序依次被解析,在不使用defer和async屬性的狀況下,只有在解析完成前面全部<script>元素中的代碼以後,纔會開始解析後面的內容。所以,建議將全部<script>標籤放在頁面內容以後(</body>以前)html
2 屬性 defer = "defer" 能夠讓腳本在文檔徹底呈現以後在執行。延遲腳本老是按照指定他們的順序執行。html5
3 屬性 async 表示當前腳本沒必要等待其餘腳本,也沒必要阻塞文檔呈現。不能保證異步腳本按照他們在頁面中出現的順序執行。瀏覽器
4 使用<noscript>標籤能夠指定在不支持腳本或腳本被禁用的瀏覽器中顯示替代內容異步
5 若是在文檔開始處沒有聲明文檔類型,則全部瀏覽器都會開啓混雜模式。但混雜模式下不一樣瀏覽器的行爲差別很是大,所以應當始終聲明文檔類型。async
如聲明文檔類型爲html5:<!DOCTYPE html>spa