为什么需要虚拟DOM

框架设计时需要兼顾考虑性能心智负担可维护性等指标。Vue.js是一个声明式框架,相较于命令式,声明式拥有更低的心智负担和更高的可维护性。但声明式代码的性能不优于命令式代码的性能

综合初始化和更新的性能对比:原生DOM操作(createElement等API)> 虚拟DOM > innerHTML。

声明式的更新性能消耗 = 找出差异的性能消耗 + 直接修改的性能消耗,声明式框架只需要尽可能减少找出差异的性能消耗,其性能即可无限逼近于命令式的代码(即原生DOM操作)。虚拟DOM就可以做到这一点(diff)。

Last Updated: