什么是虚拟dom
一个能代表dom树的对象,通常含有标签名、标签上的属性、事件监听和子元素们,以及其他属性
虚拟dom的优点
-
减少dom操作
虚拟dom可以将多次操作合并为一次操作
比如:要添加1000div,但是没有虚拟dom可能需要一次一次添加,但是react和vue可以往数组中放一个文本,然后一次性放到页面上。 -
虚拟dom可以借助dom diff的算法可以把多余的操作省略
比如:页面上有990个节点,现在要添加十个节点,如果采用js,innerHTML添加会把1000个全部添加,但是虚拟dom可以对比是不是已经在dom里面了。 -
跨平台
虚拟dom,不仅可以变成dom,还可以变成小程序,安卓,本质上是一个js对象
虚拟dom的缺点
需要额外的创建函数,如createElement 或h,但可以通过JSX来简化XML的写法\