1. 是什么

RealDom:真实DOM,文档对象模型。
VirtualDom:以JS对象形式存在的对DOM的描述
虚拟DOM为了将虚拟的节点渲染到页面视图中,虚拟DOM对象的节点与真实DOM的属性一一照应。

2. 区别

  1. 虚拟DOM不会进行排版与重绘,真实DOM会频繁触发
  2. 虚拟DOM的总损耗是”虚拟DOM增删改”+真实DOM差异增删改+排版与重绘——真实DOM的总损耗是“真实DOM完全增删改”+ 排版与重绘
    简单说:改真实DOM会全部计算,改虚拟DOM会有缓存和部分计算

3. 优缺点

真实DOM
优:易用
缺:效率低,解析速度慢,内存占用量过高
性能差,频繁操作易导致重绘与回流
虚拟DOM
优:简单方便,性能提高,跨平台
缺:个别性能要求极高的应用中虚拟DOM无法进行针对性的机制优化
首次渲染大量DOM时,多了一层虚拟DOM计算,速度稍慢