JS高級程序設計第2章--精簡版

前言:純手打!!!此次是二刷了,想暑假作一次完整的筆記,但用本子來寫筆記的話太貴了,可能哪天還丟了。。因此仍是博客好==javascript


 第二章:在HTML中使用JavaScripthtml


2.1 <script>元素:java

  即在HTML頁面插入JS的主要方法。HTML4.01定義瞭如下JS屬性(主要):面試

  • async :表示當即下載腳本(只對外部腳本文件有效),但不妨礙頁面中的其餘操做。
  • defer : 表示腳本能夠延遲到文檔徹底被解析和顯示以後再執行(只對外部腳本文件有效)。
  • src : 表示包含要執行代碼的外部文件。
  • type :表示編寫代碼使用的腳本語言的內容類型,如 type="text/javascript",但不寫默認也爲它。

  使用<script>元素的方式:瀏覽器

  • 頁面嵌入JS代碼: function.......
  • 外部JS文件: src="example.js"

2.1.1 <script>元素位置:緩存

  全部<script>元素都應放在頁面的<head>元素裏,意味着必須的等到所有JS代碼都被下載、解析、執行完成之後才能開始呈現頁面的內容(遇到<body>纔開始呈現)。app

  !!!注意,在須要不少JS代碼的頁面裏這樣子會延遲頁面的呈現,因此下載通常會把所有JS代碼放在<body>頁面內容的後面!異步

2.1.2 延遲腳本defer:(HTML4.01)async

  defer="defer" 這個屬性只適用於外部腳本文件。推薦把延遲腳本放在頁面底部!(在幾個延遲腳本的狀況下,可能能夠按照前後順序執行)spa

2.1.3 異步腳本aysnc:(HTML5)

  直接寫一個async,XHTML中要寫async="async",這個屬性只適用於外部腳本文件,不讓頁面等待腳本下載和執行,從而異步加載頁面其餘內容。(在幾個延遲腳本的狀況下,不能夠保證按照前後順序執行)

2.1.4 XHTML中的使用:

  XHTML便可以站超文本標語語言,意思就是超級嚴格!!!用 type="application/xhtml+xml" 纔會觸發XHTML模式

  例如使用HTML實體(&lt;)代替小於號 <

  但這樣子是否是太麻煩?

  因此咱們能夠在<script> 後加上<![CDATA[JS代碼]]>來包含JS代碼,這樣子能夠不用解析了。若是不須要這個CDATA,那就在<![CDATA[JS代碼]]>的先後加上 // 就好了。

2.1.5 在不支持JS的瀏覽器中使用<script>元素會把JS代碼內容所有顯示在頁面,因此咱們能夠把JS代碼包含在一個HTML註釋中,即

  <script><!--

    function sayHi () {

      alert ("Hi");

    }

  //--></script> 

 

2.2 嵌入JS方式的選擇:

  最好仍是使用外部文件,優勢是:

  • 可維護性
  • 可緩存:幾個頁面須要使用同一個文件,那這個文件只需下載一次~
  • 適應將來:即XHTML和HTML包含外部文件的語法都是相同的。

 

2.3 文檔模式(很重要!面試常常有)

  經過使用文檔類型(doctype)切換實現。主要有兩種文檔模式:(模式主要影響CSS內容的呈現和可能影響到JS的解釋執行),還有一個準標準模式,我暫不討論。

  • 混雜模式:忽略DTD聲明,瀏覽器用本身的方式解析代碼。以一種前後兼容的方式顯示,會讓IE的行爲與IE5相同,IE5包含非標準特性,以防止老站點沒法工做
  • 標準模式:DTD聲明定義了標準文檔的類型後,瀏覽器按W3C標準解析執行代碼。讓IE的行爲更接近標準行爲,IE6及以上都支持標準模式。

  混雜模式寫法: 不想寫,由於原本就不推薦這種模式!!!

  標準模式寫法:

  • HTML 5 :<!DOCTYPE html>
  • HTML 4.01 嚴格型: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  • XHTML 1.0 嚴格型: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 

2.4 <noscript>元素:

  使用這個元素能夠產生如下兩種效果:(能夠在腳本無效的狀況下向用戶顯示一套消息~)

  • 在瀏覽器不支持腳本的狀況下會顯示<noscript>元素中的內容。
  • 在瀏覽器支持腳本但被禁用的狀況下會顯示<noscript>元素中的內容。
相關文章
相關標籤/搜索