DOM 的標準規范中提供了 Node 對象,該對象主要提供了用于解析 DOM 節點樹結構的屬性和方法。
## Node 對象的作用
DOM 樹結構主要是依靠節點進行解析,稱為 DOM 節點樹結構。Node 對象是解析 DOM 節點樹結構的主要入口。
Node 對象提供的屬性和方法,可以實現遍歷節點、插入節點和替換節點等操作。而這些操作也正是我們學習 Node 對象最為主要的目的。
## Node 對象的繼承鏈關系
Node 對象是繼承于 EventTarget 對象的,EventTarget 是一個用于接收事件的對象。我們可以通過如下代碼測試兩者之間的繼承關系:
```javascript
console.log(Node.prototype instanceof EventTarget);
```
DOM 的標準規范中的 Document 對象和 Element 對象(后面的章節要學習的內容)都是繼承于 Node 對象的。我們可以通過如下代碼測試它們之間的繼承關系:
```javascript
console.log(Document.prototype instanceof Node);
console.log(Element.prototype instanceof Node);
```
## 測試 Node 對象
由于 Node 對象是 DOM 底層封裝的對象,所以我們并不能通過直接打印 Node 對象來查看其屬性或方法。
而是要通過打印 Node 對象的 prototype 原型屬性來查看其屬性或方法。
```javascript
console.log(Node.prototype)
```
運行 HTML 頁面后,打開 **開發者工具**,我們可以看到以下內容:

- 關于
- 第一章 DOM 是什么
- 第一節 DOM 介紹
- 第二節 DOM 樹結構
- 第二章 Document 對象
- 第一節 Document 對象介紹
- 第二節 定位頁面元素
- 第三節 創建頁面元素
- 第三章 Node 對象
- 第一節 Node 對象介紹
- 第二節 判斷節點類型
- 第三節 遍歷節點
- 第四節 插入節點
- 第五節 刪除節點
- 第六節 替換節點
- 第七節 復制節點
- 第八節 textContent 屬性
- 第四章 Element 對象
- 第一節 Element 對象介紹
- 第二節 DOM 元素樹
- 第三節 定位頁面元素
- 第四節 遍歷元素
- 第五節 屬性操作
- 第六節 innerHTML 屬性
- 第五章 樣式操作
- 第一節 獲取內聯樣式
- 第二節 獲取外聯樣式表
- 第三節 獲取 class 屬性
- 第四節 獲取當前有效樣式
- 第五節 設置內聯樣式
- 第六節 設置 class 屬性
- 第七節 Element 對象的樣式屬性
- 第六章 事件
- 第一節 什么是事件
- 第二節 注冊事件
- 第三節 移除注冊事件
- 第四節 Event 事件對象
- 第五節 獲取目標元素
- 第六節 阻止默認行為
- 第七節 獲取鼠標坐標
- 第八節 事件流
- 第九節 事件委托
- 第七章 表單操作
- 第一節 獲取表單
- 第二節 表單操作
- 第三節 表單驗證
- 第四節 表單提交
- 第八章 BOM
- 第一節 BOM 是什么
- 第二節 Window 對象
- 第三節 Navigator 對象
- 第四節 History 對象
- 第五節 Location 對象
- 第六節 定時器