虚拟 Dom, 是用 JS 的 Object 形式来表示 HTML 的 DOM 节点,包括 DOM 树结构。
优点:
- 避免频繁操作实体 Dom,在 Diff 算法后批量更改实体DOM,然后再一次操作更新。
- 可以通过虚拟 DOM, 实行跨端操作展示
传统VDom 缺点:
- 需要 Diff 整棵树
- 任务可以切片,利用空闲时间计算
- diff 可以中断
把树形结构变成链表
React 16, VDom 会直接 Diff 全 Dom 树
Vue 2 引入的 VDom,使用的是 snabbom 代码,双端预判会减少循环次数
Svelte