第二章在HTML中使用JavaScriptjavascript
1. HTML4.01爲<script>定義了6個屬性:async(異步加載,僅對外部文件有效)、charset、defer(腳本能夠延遲到文檔徹底被解析和顯示以後再執行)、language(已廢棄)、src、type(可當作language的替代屬性,表示編寫代碼使用的腳本語言的內容類型,即MIME類型,通常寫成type=」text/javascript」)。html
2. 使用<script>元素的兩種方式:直接在頁面中嵌入JavaScript代碼和包含外部JavaScript文件。java
3. <script>與<img>元素類似,它的src屬性能夠指向當前HTML頁面所在域以外的某個域中的完整URL。瀏覽器
4. 不管如何包含代碼,只要不存在defer和async屬性,瀏覽器都會按照<script>元素在頁面中出現的前後順序的對它們一次進行解析。緩存
5. 爲了不<head>元素中有過多JavaScript代碼,致使瀏覽器在呈現頁面時出現明顯的而延遲,瀏覽器窗口出現空白的狀況,現代Web應用程序通常都把所有JavaScript引用放在<body>元素中頁面內容的後面。異步
6. 標有defer屬性的<script>標籤,其包含的腳本告訴瀏覽器當即下載,將延遲到瀏覽器遇到</html>標籤後再執行。現實中,延遲腳本並不必定會按照順序執行,也不必定會在DOMContentLoaded事件觸發前執行,所以最後只包含一個延遲腳本。async
7. 標有async屬性的<script>標籤,告訴瀏覽器當即下載文件,但並不保證按照指定它們的前後順序執行。異步腳本必定會在頁面的load事件前執行,但不肯定在DOMContentLoaded事件觸發以前或是以後執行。htm
8. 外部文件比嵌入JavaScript代碼的優勢是:可維護性、可緩存(瀏覽器可以根據具體的設置緩存連接的全部外部JavaScript文件,若是兩個頁面使用同一個文件,那麼這個文件只須要下載一次)、適應將來。事件
9. IE5.5引入了文檔模式的概念,此概念是經過使用文檔類型(doctype)切換實現的。最初的文檔模式是:混雜模式和標準模式。這兩種模式主要影響CSS內容的呈現,某些狀況下也會影響到avaScript的解釋執行。以後,IE又提出了準標準模式。若是在文檔開始出沒有發現文檔類型聲明,則全部瀏覽器都會默認開啓混雜模式,但混雜模式不值得推薦,由於不一樣瀏覽器在這種模式下的行爲差別很是大,若是不使用某些hack技術,跨瀏覽器的行爲根本就沒有一致性可言。ip
10. CSS Hack技術是經過不一樣瀏覽器自身所帶有的特殊標識符以及CSS中優先級的機制來實現不一樣瀏覽器裏CSS樣式兼容性的問題。CSS Hack三種實現方式:CSS類內部hack、CSS選擇器hack、HTML頭部的hack。