虚拟DOM(Virtual DOM)是用来描述真实DOM的JavaScript对象。每次数据更新时,先对虚拟DOM进行操作。通过diff算法,将修改后的虚拟DOM与老的虚拟DOM进行比较,找到两个虚拟DOM的最小差异后进行异步更新;然后再与真实DOM比较后对真实DOM更新。它减少了JavaScript操作真实DOM的带来的性能消耗,保证了性能下限;更重要的是实现了跨平台。
背景:
虚拟DOM是什么:
虚拟DOM只是一层对真实DOM的抽象,它以JavaScript对象(VNode节点)作为基础的树,用对象的属性来描述节点,最终可以通过一系列操作使这棵树映射到真实环境上。在Javascript对象中,虚拟DOM表现为一个Object对象,它最少包含标签名、属性和子元素对象这三个属性,不同框架对这三个属性的命名可能会有差别。