1. 程式人生 > >重看Javascript高階程式設計,第2章:在HTML中使用Javascript

重看Javascript高階程式設計,第2章:在HTML中使用Javascript

本章知識點:

  1. 怎樣使用<script>元素
  2. 嵌入指令碼和外部指令碼
  3. 文件模式對Javascript的影響
  4. 考慮禁用Javascript的場景

2.1 <script>元素

HTML中插入Javascript的主要方式就是script標籤。script有下列屬性: 

  • async:表示立即下載該指令碼,但不妨礙頁面中的其他操作。比如下載其他資源或者等待載入其他指令碼。只對外部指令碼檔案有效。
  • charset:表示通過src屬性指定程式碼的字元編碼。
  • defer:表示指令碼可以延遲到文件完全被解析和顯示之後才執行。
  • language:用來表示編寫程式碼使用的指令碼語言。已廢棄
  • src:表示包含要執行的程式碼的外部檔案,也就是路徑。
  • type:表示編寫程式碼使用的指令碼語言的內容型別。大多數值為"text/javascript"。預設值也是它。 

以下便是在HTML頁面中插入一段Javascript程式碼:

<script type="text/javascript">
    function hi(){
        alert('hello world')
    }
</script>

 儘量不要在程式碼中任何地方出現</script>字串。程式會認為那是結束的</script>標籤。可以通過轉義符"/"來解決問題。例如:

<script type="text/javascript">
    function hi(){
        alert("<\/script>")
    }
</script>

如果通過<Script>元素來包含外部js檔案。那麼src屬性就是必須的。這個屬性指向外部JS檔案的連結。例如:

<script type="text/javascript" src="http://www.baidu.com"></script>

注意:帶有src屬性的<Script>元素在其中間不能在包含額外的JS程式碼。否則該額外程式碼將被忽略只執行外部指令碼檔案。

如果不存在defer和async屬性的話script的執行順序是從上到下。

2.1.1 標籤的位置

現代瀏覽器一般把script元素放在body元素中頁面內容的後面。如下所示:

<!DOCTYPE html>
<html lang="zh">
<head>
	<title>Document</title>
</head>
<body>
	<!--html內容-->
	<script type="text/javascript" src="http://www.baidu.com"></script>
</body>
</html>

2.2 嵌入JS程式碼與外部JS檔案的優缺點

可維護性:所有的js檔案放在一個資料夾中,維護起來就相對輕鬆。可以在不觸碰html的情況下直接修改js程式碼。

可快取:瀏覽器可以根據具體的設定快取連結的所有外部js檔案。如果兩個頁面用1個js檔案,那該檔案只需要下載一次。能加快頁面的開啟速度。