虚拟DOM是利用js描述元素与元素的关系,用js对象来表示真实的dom树结构,创建一个虚拟的dom对象。
虚拟DOM的原理是根据真实DOM生成一个js对象,里面有元素、属性和文本,这些与真实DOM中的元素、属性、文本一一对应。虚拟DOM可以更好地将虚拟节点渲染到页面视图中。当数据更新时生成新的虚拟DOM,新的虚拟DOM和旧的虚拟DOM进行对比,这个对比算法就是diff算法。当对比相同点时删除其中一个不再深度比较,当对比不同点时将不同的地方进行记录,对比完后再将不同的地方渲染上打上补丁,减少了dom操作,提高了性能。