讀《高程3》系列之JavaScript實現

一個完整的JavaScript實現是有下面三個不一樣的部分組成的:node

*核心(ECMAScript);web

*文檔對象(DOM);編程

*瀏覽器對象模型(BOM);瀏覽器

 

1、ECMAScript;cookie

1,ECMAScript與web瀏覽器沒有以來關係;框架

2,這門語言自己不包含輸入和輸出的定義;函數

3,web瀏覽器只是ECMAScript實現可能的宿主環境之一,另外的如node、AdobeFlash;spa

4,宿主環境不只提供基本的ECMAScript實現,同時也會提供該語言的擴展,以便語言與環境之間對接交互。這些擴展如---DOM,則利用ECMAScript的核心類型和語法提供更多具體的功能,以便實現針對環境的操做;code

5,ECMAScript又下面組成;對象

  *語法;

  *類型;

  *語句;

  *關鍵字;

  *保留字;

  *操做符;

  *對象;

6,ECMAScript就是對實現該標準規定的各個方面內容的語言的描述;

 

2、文檔對象模型(DOM);

1,文檔對象模型開始是針對XML的,可是通過擴展用於HTML的引用程序編程接口;

2,DOM把整個頁面映射爲一個多層節點結構(樹形圖),XML和HTML頁面中的每一個組成部分都是某種類型的節點,這些節點又包含則不一樣類型的數據。

3,經過DOM建立的樹形圖,能夠控制頁面內容和結構,藉助DOM提供的API,能夠進行增刪改查;

4.1,DOM包括DOM1和DOM2,DOM1包括DOM核心和DOM HTML。其中DOM核心規定的是如何映射基於XML的文檔結構,以便簡化對文檔中任意部分的訪問和操做。DOM HTML模塊則在DOM核心的基礎上加以擴展,添加了針對HTML的對象和方法;

這是DOM0級別,這個級別的事件以下

<button onclick="fn" id='myButton'></button>


<script>
document.getElementById("myButton").onclick = function () {
        alert('thanks');
}
</script>

4.2,DOM2擴充了鼠標和用戶界面事件、範圍、遍歷(迭代DOM文檔的方法)等細分模塊,並且經過對象接口增長了對CSS的支持。DOM1級中的DOM核心也通過擴展開始支持XML命名空間。

   DOM視圖(DOM views):定義了跟蹤不一樣文檔(例如,應用CSS以前和以後的文檔)視圖的接口
   DOM事件(DOM Events):定義了事件和事件處理的接口
   DOM樣式(DOM Style):定義了基於CSS爲元素應用樣式的接口
   DOM遍歷和範圍(DOM Traversal and Range):定義了遍歷和操做文檔樹的接口;

DOM2級事件;

監聽函數註冊,經過addEventListener或者attachEvent(ie);

4.3,DOM3進一步擴展了DOM,引入了以統一方式加載和保存文檔的方法——在DOM架子啊和保存模塊中定義;新增了驗證文檔的方法——在DOM驗證模塊中定義。

 

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

1,開發人員能夠是用BOM控制瀏覽器顯示的頁面之外部分;

2,從根本上講,BOM只處理瀏覽器窗口和框架,但人們習慣上也把全部針對JavaScript擴展算做BOM一部分,有以下擴展;

  * 彈出新瀏覽器窗口功能;

  * 移動、縮放和關閉瀏覽器窗口的功能;

  * 提供瀏覽器詳細信息的navigator對象;

  * 提供瀏覽器所加載頁面的詳細信息的location對象;

  * 提供用戶顯示器分辨率信息的screen對象;

  * 對cookies的支持;

  * 像XMLHttprequest和IE的ActiveXobject這樣的自定義對象;

3,因爲沒有BOM標準,由於每一個瀏覽器都有本身的實現;

相關文章
相關標籤/搜索