《JavaScript 高程》筆記——chapter1/2 簡介

 
JavaScript是一種專爲網頁交互而設計的腳本語言,由下列三個不同的部分組成:
  • 核心(ECMAScript),由ECMA-262定義,提供核心語言功能;
  • 文檔對象模型(DOM),提供訪問和操作網頁內容的方法和接口;
  • 瀏覽器對象模型(BOM),提供與瀏覽器交互的方法和接口。




1、ECMAScript

規定了這門語言的下列組成部分:
  • 語法
  • 類型
  • 語句
  • 關鍵字
  • 保留字
  • 操作符
  • 對象

2、文檔對象模型(DOM)

DOM是針對XML但經過擴展用於HTML的應用程序編程接口(API, Application Programming Interface)。
DOM把整個頁面映射爲一個多層節點結構

DOM級別:
  • DOM1級:
主要用於映射文檔的結構。
由兩個模塊組成:DOM核心(DOM Core) 和DOM HTML
  • DOM2級:
在原來DOM的基礎上又擴充了鼠標和用戶界面事件、範圍、遍歷(迭代DOM文檔的方法)等細分模塊,而且通過對象接口增加了對CSS的支持。
          引入新模塊:
    • DOM視圖:定義了跟蹤不同文檔視圖的接口;                                              
    • DOM事件:定義了事件和事件處理的接口;
    • DOM樣式:定義了基於CSS爲元素應用樣式的接口;
    • DOM遍歷和範圍:定義了遍歷和操作文檔的接口。
  • DOM3級:
引入了以統一方式加載和保存文檔的方法——在DOM加載和保存(DOM Load and Save) 模塊中定義;
新增了驗證文檔的方法——在DOM驗證(DOM Validation)模塊中定義。


3、瀏覽器對象模型(BOM)

根本上講,BOM只是處理瀏覽器窗口和框架;

習慣上,也把所有針對瀏覽器的JavaScript擴展算作BOM的一部分:
  • 彈出新瀏覽器窗口的功能
  • 移動、縮放和關閉瀏覽器窗口的功能
  • 提供瀏覽器詳細信息的navigator對象
  • 提供瀏覽器所加載頁面的詳細信息的location對象
  • 提供用戶顯示器分辨率詳細信息的screen對象
  • 對cookies的支持
  • 像 XMLHttpRequest 和 IE 的 ActiveXObject 這樣的自定義對象





在HTML中使用JavaScript


1、<script>元素

向HTML頁面中插入JavaScript的主要方法,就是使用<script>元素。

方式有兩種:
  • 直接嵌入
  • 引入外部 .js 文件
例如:<script type = "text/javascript" src="example.js"></script>

外部引用的優點:
  1. 可維護性
  2. 可緩存
  3. 適應未來

無論是直接嵌入還是外部引入,只要不存在defer 和 async 屬性,解釋器對JavaScript代碼是從上至下依次解析的。在解析完成之前,頁面中的其餘內容都不會被瀏覽器加載或顯示。


2、標籤的位置

傳統做法是將所有<script>元素都放在頁面的<head>元素中。對於那些需要很多JavaScript代碼的頁面來說,會導致瀏覽器在呈現頁面時出現明顯的延遲,而延遲期間的瀏覽器窗口一片空白。爲了避免這一問題,一般把全部JavaScript引用放在<body>元素中頁面內容的後面


3、延遲腳本

例子:<script type="text/javascript" defer="defer"  src="example.js"></script>

defer屬性只適用於外部js文件
用途是表明腳本在執行時不會影響頁面的構造。即,腳本會被延遲到整個頁面都解析完畢後再運行。
有些瀏覽器會忽略這個屬性,所以,把延遲腳本放在頁面底部仍是最佳選擇


4、異步腳本

例子:<script type="text/javascript"  async   src="example1.js"></script>
          <script type="text/javascript"  async   src="example2.js"></script>

async 屬性也只適用於外部js文件
指定async屬性的目的是不讓頁面等待這兩個腳本的下載和執行,從而異步加載頁面的其他內容。因此,建議異步腳本不要在加載期間修改DOM。
☞:標記爲async的腳本並不保證按照他們的先後順序執行,因此,要確保兩者之間互不依賴。


5、<noscript>元素

使用<noscript>元素可以指定在不支持腳本的瀏覽器中顯示替代的內容,從而實現讓網頁平穩退化。
包含在 <noscript>元素中的內容只有在以下兩種情況下才會顯示出來:
  • 瀏覽器不支持腳本;
  • 支持腳本,但腳本被禁用。
在啓用腳本的情況下,瀏覽器中不會顯示 <noscript>元素中的任何內容。

<body>
  <noscript>
    <p>本頁面需要瀏覽器支持(並啓用)JavaScript</p>
  </noscript>
</body>











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