虚拟DOM
虚拟DOM的工作流程
- 当用户UI发生变化时,将整个用户UI渲染到虚拟DOM中
- 将当前虚拟DOM与之前的虚拟DOM进行比较,计算表现形式间的差异
- 根据变化差异更新真实DOM
虚拟DOM的优缺点
优点 - 高效的diff算法
- 简单且有助于提升性能
- 轻量
- 允许构建应用程序不需要考虑状态转换
缺点 - 哪怕只是微小变化,也会检查所有步骤来识别变化
增量DOM
增量DOM的工作方式
增量DOM通过使用真实DOM来定位代码更新,这种方法比虚拟DOM简单,内存中不会存任何真实DOM的虚拟表示来计算差异,真实DOM仅用于与新的DOM进行差异比较。
增量DOM的优缺点
优点
- 易于与其他框架结合使用
- 简单的API使其成为强大的目标模板引擎
- 适合基于移动设备的应用程序
缺点 - 耗时
虚拟DOM和增量DOM的区别
- 虚拟DOM不直接操作真实DOM而是计算差异再更新,增量DOM直接操作真实DOM
- 虚拟DOM用的是解释器,无法使用tree shaking,而增量DOM可以
- 虚拟DOM在内存中存放真实DOM的虚拟表示,占用大量内存,增量DOM不会