1.1 JavaScript簡史
在web日益流行的今天,人們對客戶端腳本語言的需求也越來越高,
1995.2 就職于網景公司的Brendan Eich發布了其開發的LiveScript,改語言同時在瀏覽器和服務器使用,為了趕工期,在Netscape Navigator 2發布前夕,Netscape為了搭上媒體熱炒Java的順風車,臨時把LiveScript改成了JavaScript.
發布大獲成功,之后,微軟就在其Internet Explore 3.0中加入名為JScript的JavaScript實作,
當時缺少標準的狀況下,導致了個廠商對于實作javascript特性的差異性,并影響了web發展的道路曲折了十幾年,事實證明對于世界性開發語言最侄訓是要有統一的標準,閉門造車是要付出沉痛代價——時間成本,
1997年,以javascript 1.1 為藍本的建議被提交給了歐洲計算機制造商會(European Computer Manufactures Association, 簡稱 ECMA),經過幾個月的努力完成了 ECMA-262——定義了一種名為ECMAScript的新的腳本標準,
1.2 JavaScript 實作
一個完整的JavaScript事先應該有下列三個部分組成:
- 核心 [ECMAScript]
- 檔案物件模型 [DOM]
- 瀏覽器物件模型[BOM]
1.2.1 ECMAScript
由 ECMAScript-262定義的ECMAScript與web瀏覽器沒有依賴關系,并沒有包含輸入和輸出定義,它只定義了語言基礎,我們常見的web瀏覽器只是ECMAScript實作可能的宿主環境之一,其他宿主環境包括 Node 和 Adobe Flash,它規定了以下內容:
- 語法
- 型別
- 陳述句
- 關鍵字
- 保留字
- 運算子
- 物件
1.2.2 檔案物件模型(DOM)
檔案物件模型(DOM)是針對XML,但經過擴展用于HTML的應用程式編程介面,DOM把整個頁面映射為一個多層節點結構,HTML或XML頁面中的每個組成部分都是某種型別的節點,
<html>
<head>
<title>gruguy example</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
1. 為什么要使用DOM
微軟和網景支持不同的形式的DHTML,過去只撰寫一個HTML頁面就能夠在任何瀏覽器中運行的時代結束了, 此時,負責制定web通信標準W3C(world wide website Consortium 萬維網聯盟)開始著手規劃DOM
2. DOM級別
DOM1級(DOM level1)于1998.10成為了W3c的推薦標準,DOM1有兩個模塊組成,DOM核心(Core)和 DOM HTML,DOM核心規定了如何映射基于XML的檔案結構,以簡化對檔案中任意部分訪問和操作,DOM HTML模塊規定在核心基礎上加以擴展,添加了針對HTML的物件和方法,
DOM2級引入了新的模塊,定義了新的介面方法
- DOM視圖(DOM View): 定義了跟蹤不同檔案視圖的介面;
- DOM時間(DOM Events):定義了事件和事件處理的介面;
- DOM樣式(DOM Style):定義了基于CSS為元素應用樣式的介面;
- DOM遍歷和范圍(DOM traversal and range):定義了遍歷和操作檔案樹的介面,
DOM3級則進一步擴展了DOM,引入了以統一方式加載和保存檔案的方法——在DOM加載和保存(DOM Load and Save)模塊中定義,新增檔案驗證的方法——DOM驗證(DOM Validation)模塊中定義,DOM3級也對DOM核心擴展,開始支持XML1.0規范,設計XML Infoset、XPath和XMLBase,
3. 其他DOM標準
略
4. Web瀏覽器對DOM的支持
標準制定后,過了一段時間,web瀏覽器才開始支持,微軟首先在IE5中實作了DOM,但直到IE5.5才算是真正支持了DOM1級,Netscape后來重心放在了firefox上,firefox 3完全支持DOM1,幾乎完全支持DOM2,還有一部分DOM3,目前,主流的瀏覽器都支持了DOM標準,
1.2.3 瀏覽器物件模型
BOM始于web瀏覽器的實作,對于操作瀏覽器物件模型,但是沒有標準,直到HTML5,將很多BOM功能寫進正式規范,
- 彈出新瀏覽器視窗的功能
- 移動、縮放和關閉瀏覽器視窗功能
- 提供瀏覽器詳細資訊的navigator物件
- 提供瀏覽器所加載頁面的詳細資訊的location物件
- 提供用戶顯示幕解析度詳細資訊screen物件
- 提供cookies的支持
- 像 XMLHTTPRequest 和IE的 ActiveXObject 這樣的自定義物件
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/138824.html
標籤:JavaScript
上一篇:ES6封裝形變類,完成連續影片
