JavaScript和DOM的產生與發展

 

 

首先本篇文章摘自:http://itbilu.com/javascript/js/Vyxodm_1g.htmljavascript

很是感謝本篇文章的做者,他理清了我映像中混亂的DOM Level級別。讓我知道了DOM0級並不存在,而咱們如今經常使用CoreDOM、HTML-DOM都屬於DOM1級,而事件的接口,則是從DOM2級開始引入。html

 

====================== 具體內容 =====================前端

 

JavaScript歷經了從被人誤解到如今的被萬衆矚目的轉變。隨着一些JavaScript編程規範的推出(如:AMDCMD),其應用範圍也從前端一些小功能逐漸擴展到後端和一些大項目中。那麼,JavaScript從混亂無序到嚴謹規範經歷的哪些過程,在這些過程當中又JavaScript增長了哪些功能特性?java

 

1. JavaScript的起源

1.1 JavaScript的誕生與發展

JavaScript最初由NetscapeBrendan Eich設計, Netscape在最初將其腳本語言命名爲LiveScript,後來Netscape在與Sun合做以後將其更名爲JavaScript。由此看來,JavaScript只是出於營銷考慮,看起來像Java實則與Java沒有一點關係。git

JavaScript出現以前,Web瀏覽器僅是一種可以顯示超文本文檔的軟件;在JavaScript出現以後,網頁的交互性獲得明顯改善,其內容也再也不侷限於簡單的文本。JavaScript第一個版本,即:JavaScript 1.0,在1995年Netscape Navigator 2瀏覽器中推出。程序員

JavaScript 1.0發佈時,Netscape Navigator瀏覽器還佔主宰地位。MicrosoftIE 3.0時發佈了VBScript命名爲JScript。面對微軟的競爭,Netscape在與Sun聯合ECMA(歐洲計算機制造協會)對JavaScript語言進行了標準化,即:ECMA-262(ECMAScript),也就是咱們今天的使用JavaScript語言標準,目前最新標準爲ECMAScript 6github

 

1.2 JavaScript的設計功能

JavaScript最初設計是做爲給非程序人員的腳本語言,JavaScript作爲一種解釋型腳本語言,一般只能依賴Web瀏覽器去完成一些操做而不能像動態語言那樣獨立運行。也正是因爲JavaScript的簡單性,使其比較容易的學習和使用。編程

JavaScript向用戶提供了一些操控Web瀏覽器和Web文檔的API,即:BOM(瀏覽器對象模型)和DOM(文檔對象模型)。你能夠經過JavaScript調整瀏覽的寬、高、位置等,一樣你可經過JavaScript調整Web頁面內容的顯示、隱藏、表單提交等。後端

 

2. DOM的誕生與發展

2.1 DOM是什麼

DOM,文檔對象模型(Document Object Model)。DOM是 W3C(萬維網聯盟)的標準,DOM定義了訪問HTMLXML文檔的標準。在W3C的標準中,DOM是獨於平臺和語言的接口,它容許程序和腳本動態地訪問和更新文檔的內容、結構和樣式。api

W3C DOM由如下三部分組成:

  • 核心DOM - 針對任何結構化文檔的標準模型
  • XML DOM - 針對 XML 文檔的標準模型
  • HTML DOM - 針對 HTML 文檔的標準模型

 

2.2 DOM的發展-DOM0、DOM一、DOM二、DOM3的區別

DOM0

JavaScript在早期版本中提供了查詢和操做Web文檔的內容API(如:圖像和表單),在JavaScript中定義了定義了'images''forms'等,所以咱們能夠像下這樣訪問第一張圖片或名爲「user」的表單:

document.images[0]
document.forms['user']

這其實是未造成標準的試驗性質的初級階段的DOM,如今習慣上被稱爲DOM0,即:第0級DOM。因爲DOM0W3C進行標準備化以前出現,還處於未造成標準的初期階段,這時NetscapeMicrosoft各自推出本身的第四代瀏覽器,自此DOM遍開始出各類問題。

DOM0與DHTML

Netscape Navigator 4IE4分別發佈於1997年的6月和10月,這兩種瀏覽器都大幅擴展了DOM,使JavaScript的功能大大增長,而此時也開始出現一個新名詞:DHTML

DHTMLDynamic HTML(動態HTML)的簡稱。DHTML並非一項新技術,而是將HTML、CSS、JavaScript技術組合的一種描述。即:

  • 利用HTML把網頁標記爲各類元素
  • 利用CSS設置元素樣式及其顯示位置
  • 利用JavaScript操控頁面元素和樣式

利用DHTML,看起來能夠很容易的控制頁面元素,並實現一此本來很複雜的效果(如:經過改變元素位置實現動畫)。但事實並不是如此,由於沒有規範和標準,兩種瀏覽器對相同功能的實現確徹底不同。爲了保持程序的兼容性,程序員必須寫一些探查代碼以檢測JavaScript是運行於哪一種瀏覽器之下,並提供與之對應的腳本。JavaScript陷入了史無前例的混亂,DHTML也所以在人們心中留下了不好的印象。

DOM1的出現

在瀏覽器廠商進行瀏覽器大站的同時,W3C結合你們的優勢推出了一個標準化的DOM,並於1998年10月完成了第一級 DOM,即:DOM1W3CDOM定義爲一個與平臺和編程語言無關的接口,經過這個接口程序和腳本能夠動態的訪問和修改文檔的內容、結構和樣式。

DOM1級主要定義了HTML和XML文檔的底層結構。在DOM1中,DOM由兩個模塊組成:DOM Core(DOM核心)和DOM HTML。其中,DOM Core規定了基於XML的文檔結構標準,經過這個標準簡化了對文檔中任意部分的訪問和操做。DOM HTML則在DOM核心的基礎上加以擴展,添加了針對HTML的對象和方法,如:JavaScript中的Document對象

DOM2與DOM3

DOM1的基礎上DOM2DOM3引入了更多的交互能力,也支持了更高級的XML特性。DOM2DOM3將DOM分爲更多具備聯繫的模塊。DOM2級在原來DOM的基礎上又擴充了鼠標、用戶界面事件、範圍、遍歷等細分模塊,並且經過對象接口增長了對CSS的支持。DOM1級中的DOM核心模塊也通過擴展開始支持XML命名空間。在DOM2中引入了下列模塊,在模塊包含了衆多新類型和新接口:

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

DOM3進一步擴展了DOM,在DOM3中引入瞭如下模塊:

  • DOM加載和保存模塊(DOM Load and Save):引入了以統一方式加載和保存文檔的方法
  • DOM驗證模塊(DOM Validation):定義了驗證文檔的方法
  • DOM核心的擴展(DOM Style):支持XML 1.0規範,涉及XML Infoset、XPath和XML Base
相關文章
相關標籤/搜索