虚拟DOM(Virtual DOM)是一个轻量级的javascript对象,它最初只是 真实DOM(real DOM)
的一个副本,并不是完全拥有真实DOM的所有属性以及方法,它是一个节点树,它将元素、属性和内容作为对象以及属性,vue/react的渲染函数从组件里创建一个节点树,然后响应数据的变化来更新这个节点树,这个变化是用户或者系统完成的动作引起的。
虚拟DOM工作三个重要步骤
1、底层数据发生变化时,整个ui都将在虚拟DOM中重新渲染。
2、计算之前DOM和更改数据的虚拟DOM之间不一样。
3、计算出不同时,真实DOM只渲染更改的差异,数据相同时不会进行重新渲染,节约渲染时间