说说真实dom和虚拟dom有什么区别,虚拟dom的优势是什么?

区别:虚拟dom不会进行排版与重绘操作,而真实dom会频繁的排版+重绘,而虚拟dom的总损耗是虚拟dom+真实dom的增删改+排版重绘,而真实dom的总损耗是dom的完全增删改+排版重绘

虚拟dom的优势如下:

简单方便,如果使用手动操作真实dom完成页面,繁琐并容易出错,在大规模应用下维护起来也很困难。

性能方面,使用virtualDom能够有效避免真实dom树的频繁更新,减少重绘和回流提高性能。

跨平台,react借助虚拟dom带来了跨平台的能力,一套代码多端运行。

缺点:是因为首次渲染大量dom,由于多一层虚拟dom计算,速度比正常稍慢。

RealDom就是真实dom,类似于一个文档对象 模型页面上渲染出来的节点都是真实的Dom,真实dom的特点:可以直接更新html,操作起来麻烦,消耗大量内存,而页面的性能问题大都是dom太过于庞大而引起的,由此可知操作dom的代价是很昂贵的,频繁操作引起页面卡顿,影响用户体验。

*VirtualDom是虚拟dom,虚拟dom是映射真实dom的JavaScript对象,它可以最大限度的减少与真实dom的交互从而减小渲染dom的耗费内存。*

*而很多人认为虚拟dom的优势是diff算法,减少js操作真实dom带来的性能消耗,这是不可否认的,但是这并不是全部,虚拟dom最大的优势在于它抽象了真实dom原本渲染的过程,实现的跨平台能力,不仅仅局限于浏览器dom,也可以是安卓,和ios和原生组件,可以是近期很火热的小程序,也可以是各种GUI。*

VirtualDom是虚拟dom,虚拟dom是映射真实dom的JavaScript对象,它可以最大限度的减少与真实dom的交互从而减小渲染dom的耗费内存。

你可能感兴趣的:(javascript,前端,开发语言)