关于对虚拟DOM的理解

在Vue和React框架中,都有一个虚拟DOM的概念,那么虚拟DOM到底是个什么东西呢?

在这里,我有一些自己的理解分享给大家。

 

首先,虚拟DOM的本身是一个JS的对象,总体来说就是,操作JS对象比操作DOM的速度更快,这是其根本。

下面,我们来了解一下虚拟DOM具体的作用。

传统操作DOM的方法,会重新渲染某个节点的html代码。然后再重新创建所有的DOM元素。这样比较消耗性能以及速度较慢。

而操作虚拟DOM的话,虚拟DOM会更改某一个节点的html代码。然后通过diff来计算,再修改需要修改的DOM元素。所以性能消耗较少。

 

接下来是我对diff的一个理解,比较浅、

首先,操作DOM的的情况下,会对新旧DOM树进行一个循环遍历的比较,一一对比之后,然后再对所有的DOM元素进行重新创建渲染,

而虚拟DOM的话,模拟一个DOM树,里面都是虚拟DOM对象,虚拟DOM对象相对于DOM对象更加简单,只有几个重要的属性,更加轻便。

然后虚拟DOM也会进行一个遍历对比,然后对有做修改的虚拟DOM进行比较,得出最小差异,然后再去修改真实DOM。

 

转载于:https://www.cnblogs.com/tudouni/p/10999904.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值