JS 框架 词条目录
前端Wiki/词条/虚拟 DOM

虚拟 DOM

定义用 JS 对象模拟 DOM 树、经 diff 计算最小更新再批量提交的渲染优化机制

虚拟 DOM 是在内存中用普通对象描述页面结构,状态变化时生成新树与旧树对比(diff),只把差异部分应用到真实 DOM。它解决了「频繁整树操作真实 DOM」的性能问题,也让开发者用声明式思维写 UI。

要澄清一个常见误解:虚拟 DOM 不一定比手工优化快——它的价值在于「保证可接受性能下限的同时,把开发者从手动 DOM 操作中解放出来」。框架层面还有编译期优化(Vue 的静态提升、React 的 Fiber 架构)等更深手段。

JavaScript
// 虚拟 DOM 长这样(JS 对象)
const vnode = {
  tag: 'div',
  props: { class: 'card' },
  children: [
    { tag: 'h2', children: '标题' },
    { tag: 'p', children: '内容' }
  ]
};
// 框架 diff 新旧 vnode 树,只 patch 变化的节点
⚠ 常见误区
🔗 相关词条响应式原理propsstate声明式
← 返回来源章节js-frameworks/g0c1s1.html