什么是虚拟DOM?
框架中的概念,用JS对象来模拟页面上DOM和DOM之间的嵌套,本质是一个对象,而且把原生对象中的属性根据需要添加,不是全部存在,更‘轻’。
工作原理
获取内存中的(虚拟)dom树和新生成的(虚拟)dom树,通过diff算法进行对比,得到需要更新的DOM元素
这两颗(虚拟)DOM树都是框架模拟出来的,就是个对象,旧的会被保存在内存中
什么虚拟DOM性能更优秀?
还是要更新10个DOM节点,虚拟DOM不会一次一次的去通知浏览器,而是通过diff算法去操作框架造出来的虚拟DOM树(也就是个对象),更新对象速度会很快,然后将修改后的虚拟DOM树一次性的让浏览器进行挂载更新,减少计算的浪费。
这么一比较,浏览器只是运作了一次,达到高效的更新渲染