web(World Wide Web)即全球廣域網,也稱爲萬維網,它是一種基於超文本和HTTP的、全球性的、動態交互的、跨平臺的分佈式圖形信息系統web
不是某一個標準,而是一系列標準的集合,主要由三部分組成:結構(Structure)、表現(Presentation)和行爲(Behavior)。編程
結構化標準語言:XML、HTML 表現標準語言:CSS 行爲標準語言:對象模型(如W3C DOM)、ECMAScript
組成瀏覽器
ECMAScript,描述了該語言的語法和基本對象。 文檔對象模型(DOM),描述處理網頁內容的方法和接口。 瀏覽器對象模型(BOM),描述與瀏覽器進行交互的方法和接口。
歷史cookie
1995年Netscape公司發佈的Netscape Navigator 2.0中,發佈了與Sun聯合開發的JavaScript 1.0而且大獲成功, 而且隨後的3.0版本中發佈了JavaScript1.1,恰巧這時微軟進軍瀏覽器市場,IE 3.0搭載了一個JavaScript的克隆版-JScript, 再加上Cenvi的ScriptEase(也是一種客戶端腳本語言),致使了三種不一樣版本的客戶端腳本語言同時存在。爲了創建語言的標準化,1997年JavaScript 1.1做爲草案提交給歐洲計算機制造商協會(ECMA),第三十九技術委員會(TC39)被委派來「標準化一個通用的,跨平臺的,中立於廠商的腳本語言的語法和語意標準」。最後在Netscape、Sun、微軟、Borland等公司的參與下制訂了ECMA-262,該標準定義了叫作ECMAScript的全新腳本語言。今後之後的Javascript,JScript,ActionScript等腳本語言都是基於ECMAScript標準實現的。
1998年6月,ECMAScript 2.0版發佈。
1999年12月,ECMAScript 3.0版發佈
2007年10月,ECMAScript 4.0版草案發布,草案發布後,因爲4.0版的目標過於激進,各方對因而否經過這個標準,發生了嚴重分歧。以Yahoo、Microsoft、Google爲首的大公司,反對JavaScript的大幅升級,主張小幅改動;以JavaScript創造者Brendan Eich爲首的Mozilla公司,則堅持當前的草案。
2008年7月,發佈爲ECMAScript 3.1,
2009年12月,ECMAScript 5.0版正式發佈。
2011年6月,ECMAscript 5.1版發佈,
2013年3月,ECMAScript 6草案凍結,
2013年12月,ECMAScript 6草案發布。
2015年6月17日,ECMAScript 6發佈正式版本,即ECMAScript 2015。框架
DOM1
在瀏覽器廠商進行瀏覽器大站的同時,W3C結合你們的優勢推出了一個標準化的DOM,並於1998年10月完成了第一級 DOM,即:DOM1。1998 年 10 月,W3C 推出 DOM 1.0 版本規範。編程語言
DOM Core(核心部分):把 XML 文檔設計爲樹形節點結構,併爲這種結構的運行機制制訂了一套規範化標準,同時定義了建立、編輯、操縱這些文檔結構的基本屬性和方法。 DOM HTML:針對 HTML 文檔、標籤集合,以及與個別 HTML 標籤相關的元素定義了對象、屬性和方法。
W3C將DOM定義爲一個與平臺和編程語言無關的接口,經過這個接口程序和腳本能夠動態的訪問和修改文檔的內容、結構和樣式。分佈式
DOM2
2000 年 11 月,W3C 正式發佈 DOM 2 級規範。ide
DOM視圖(DOM Views):定義了跟蹤不一樣文檔視圖的接口 DOM事件(DOM Events):定義了事件和事件處理的接口 DOM樣式(DOM Style):定義了基於CSS爲元素應用樣式的接口 DOM遍歷和範圍(DOM Traversal and Range):定義了遍歷和操做文檔樹的接口
2003 年 1 月,W3C 正式發佈了修訂DOM 2.0 ,函數
DOM2 Core:繼承於 DOM Core 子規範,規定了 DOM 文檔結構模型,添加了更多的特性,如針對命名空間的方法等。 DOM2 HTML:繼承於 DOM HTML,規定了針對 HTML 的 DOM 文檔結構模型,並添加了一些屬性。 DOM2 Events:規定了與鼠標相關的事件(包括目標、捕獲冒泡和取消)的控制機制,但不包含與鍵盤相關事件的處理部分。 DOM2 Style(或 DOM2 CSS):提供了訪問和操縱全部與 CSS 相關的樣式及規則的能力。 DOM2 Traversal 和 DOM2 Range:DOM2 Traversal 規範容許開發人員經過迭代方式訪問 DOM,DOM2 Range 規範容許對指定範圍的內容進行操做。 DOM2 Views:提供了訪問和更新文檔表現(視圖)的能力。
DOM3
DOM3中引入模塊:佈局
DOM加載和保存模塊(DOM Load and Save):引入了以統一方式加載和保存文檔的方法 DOM驗證模塊(DOM Validation):定義了驗證文檔的方法 DOM核心的擴展(DOM Style):支持XML 1.0規範,涉及XML Infoset、XPath和XML Base
2004 年 4 月,W3C 發佈 DOM3 子規範。
DOM3 Core:繼承於 DOM2 Core,並添加了更多的新方法和屬性,同時修改了已有的一些方法。 DOM3 Load and Save:提供將 XML 文檔的內容加載到 DOM 文檔中,以及將 DOM 文檔序列化爲 XML 文檔的能力。 DOM3 Validation:提供了確保動態生成的文檔的有效性的能力,即如何符合文檔類型聲明。
簡介
broswer object model(瀏覽器對象模型)
BOM是指瀏覽器對象模型,是用於描述這種對象與對象之間層次關係的模型,瀏覽器對象模型提供了獨立於內容的、能夠與瀏覽器窗口進行互動的對象結構。
BOM 主要處理瀏覽器窗口和框架,不過一般瀏覽器特定的 JavaScript 擴展都被看作 BOM 的一部分。這些擴展包括:
彈出新瀏覽器窗口的功能 移動、縮放和關閉瀏覽器窗口的功能 提供瀏覽器詳細的navigator對象 提供瀏覽器所加載頁面的詳細信息的location對象 提供用戶顯示器分辨率詳細信息的screen對象 對cookies的支持 像XMLHttpRequest和IE的ActiveXObject這樣的自定義對象。
IE 3.0 和 Netscape Navigator 3.0 提供了一種特性 - BOM(瀏覽器對象模型),能夠對瀏覽器窗口進行訪問和操做。使用 BOM,開發者能夠移動窗口、改變狀態欄中的文本以及執行其餘與頁面內容不直接相關的動做。使 BOM 獨樹一幟且又經常使人懷疑的地方在於,它只是 JavaScript 的一個部分,沒有任何相關的標準。
因爲沒有BOM標準能夠遵循,所以每一個瀏覽器都有本身的實現。有一些事實上的標準,如具備一個窗口對象和一個導航對象,不過每種瀏覽器能夠爲這些對象或其餘對象定義本身的屬性和方法。如今有了HTML5,BOM實現的細節有望朝着兼容性愈來愈高的方向發展。