《JavaScript 高級程序設計》提到:「DOM1 級定義了一個 Node 接口,該接口將由 DOM 中的所有節點類型實現。這個 Node 接口在 JavaScript 中是作為 Node 類型實現的。」初學者難以理解「接口」「實現」「類型」三者關係。
nodeType、nodeName、nodeValue、parentNode、childNodes 等)與方法(appendChild、removeChild、cloneNode 等)。Node,所有具體節點類(Element、Text、Attr、Comment 等)繼承自 Node,形成原型鏈:Element.prototype → Node.prototype → Object.prototype// 1. 獲取元素節點(Element 繼承自 Node)
const div = document.getElementById('app'); // 返回 Element 實例
// 2. 利用 Node 接口屬性/方法遍歷/操作
console.log(div.nodeType); // 1 (Node.ELEMENT_NODE)
console.log(div.nodeName); // "DIV"
console.log(div.childNodes); // NodeList,包含文本節點、元素節點等
// 3. 創建並插入新節點
const span = document.createElement('span'); // Element 實例
span.textContent = 'Hello'; // 設置文本節點內容
div.appendChild(span); // Node 方法
理解「Node 接口定義統一行為,具體節點類型繼承實現差異化特性」,即可靈活操作 DOM 樹,不再迷失於術語中。