JavaScript高級程序設計(第3版)第二章讀書筆記

第二章在HTML中使用JavaScript

1.        HTML4.01爲<script>定義了6個屬性:async(異步加載,僅對外部文件有效)、charset、defer(腳本可以延遲到文檔完全被解析和顯示之後再執行)、language(已廢棄)、src、type(可看成language的替代屬性,表示編寫代碼使用的腳本語言的內容類型,即MIME類型,一般寫成type=”text/javascript”)。

2.        使用<script>元素的兩種方式:直接在頁面中嵌入JavaScript代碼和包含外部JavaScript文件。

3.        <script>與<img>元素相似,它的src屬性可以指向當前HTML頁面所在域之外的某個域中的完整URL。

4.        無論如何包含代碼,只要不存在defer和async屬性,瀏覽器都會按照<script>元素在頁面中出現的先後順序的對它們一次進行解析。

5.        爲了避免<head>元素中有過多JavaScript代碼,導致瀏覽器在呈現頁面時出現明顯的而延遲,瀏覽器窗口出現空白的情況,現代Web應用程序一般都把全部JavaScript引用放在<body>元素中頁面內容的後面。

6.        標有defer屬性的<script>標籤,其包含的腳本告訴瀏覽器立即下載,將延遲到瀏覽器遇到</html>標籤後再執行。現實中,延遲腳本並不一定會按照順序執行,也不一定會在DOMContentLoaded事件觸發前執行,因此最後只包含一個延遲腳本。

7.        標有async屬性的<script>標籤,告訴瀏覽器立即下載文件,但並不保證按照指定它們的先後順序執行。異步腳本一定會在頁面的load事件前執行,但不確定在DOMContentLoaded事件觸發之前或是之後執行。

8.        外部文件比嵌入JavaScript代碼的優點是:可維護性、可緩存(瀏覽器能夠根據具體的設置緩存鏈接的所有外部JavaScript文件,如果兩個頁面使用同一個文件,那麼這個文件只需要下載一次)、適應未來。

9.        IE5.5引入了文檔模式的概念,此概念是通過使用文檔類型(doctype)切換實現的。最初的文檔模式是:混雜模式和標準模式。這兩種模式主要影響CSS內容的呈現,某些情況下也會影響到avaScript的解釋執行。之後,IE又提出了準標準模式。如果在文檔開始出沒有發現文檔類型聲明,則所有瀏覽器都會默認開啓混雜模式,但混雜模式不值得推薦,因爲不同瀏覽器在這種模式下的行爲差異非常大,如果不使用某些hack技術,跨瀏覽器的行爲根本就沒有一致性可言。

10.    CSS Hack技術是通過不同瀏覽器自身所帶有的特殊標識符以及CSS中優先級的機制來實現不同瀏覽器裏CSS樣式兼容性的問題。CSS Hack三種實現方式:CSS類內部hack、CSS選擇器hack、HTML頭部的hack。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章