1.1 JavaScript實現
JavaScript跟ECMAScript不是一個東西,關係如下:
ECMAScript是核心部分,定義了語法規則
DOM是文檔對象模型,定義了操作文檔的方法
BOM是瀏覽器對象模型,定義了操作瀏覽器窗口的方法
1.1.1 什麼是DOM?
DOM把整個頁面映射成一個多層次的節點結構,HTML或XML頁面中的每個組成部分都是某個類型的節點,每個節點下包含不同類型的數據。例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>DOM節點層次例子</title>
</head>
<body>
<p>這是一個P標籤</p>
</body>
</html>
這個頁面可通過一個DOM樹結構來表示:
1.1.2 DOM級別
DOM1 針對映射文檔結構;
DOM2 引入了:
DOM視圖:定義了跟蹤不同文檔(例如,應用 CSS 之前和之後的文檔)視圖的接口;DOM Views
DOM事件:定義了事件和事件處理的接口;DOM Event
DOM樣式:定義了基於 CSS 爲元素應用樣式的接口;DOM style
DOM遍歷和範圍:定義了遍歷和操作文檔樹的接口; DOM Traversal and Range
1.1.3 BOM模型
BOM是處理瀏覽器窗口和框架,有一些擴展:
彈出新瀏覽器窗口
移動 縮放和關閉瀏覽器窗口
提供瀏覽器詳細信息的navigation對象
提供瀏覽器所加載頁面詳細信息的location對象
提供用戶顯示器詳細信息的screen對象
對cookie的支持
像XMLHttpRequest和ActiveObject這樣的自定義對象
BOM 目前沒有統一的標準,但都有基本的navigation對象和window對象。