Open ForeveHG opened 3 years ago
因为js引擎也不能直接操作真实dom,需要通过浏览器提供的接口来操作(这些接口挂载在js中window对象的document对象上),浏览器操作dom后再将结果返回给js引擎,因此js操作真实dom的代价比较大,而且修改dom会引起页面重绘,而虚拟dom是使用js对象来描述dom树,它不能消除真实的dom操作,页面的修改最终还是需要操作真实dom,但是可以通过虚拟dom提前掌握dom结构,这样可以在操作真实dom前提前做优化,比如本来三次真实dom操作,通过框架的优化成一次操作,这就是虚拟dom的好处
参考: https://baijiahao.baidu.com/s?id=1676526364115609709&wfr=spider&for=pc
众所周知,React和Vue都用到了虚拟DOM,为什么需要用虚拟DOM?