kaiyun官方网站 一文带你透顶惩处Diff算法

Kaiyun体育下载

你的位置:Kaiyun体育下载 > 新闻资讯 > kaiyun官方网站 一文带你透顶惩处Diff算法
kaiyun官方网站 一文带你透顶惩处Diff算法
发布日期:2023-12-09 13:43    点击次数:162
[[420540]] 一、基础

Diff算法完满的是最小量更新杜撰DOM。这句话诚然轻便kaiyun官方网站,然则触及到了两个中枢身分:杜撰DOM、最小量更新。

1.杜撰DOM

杜撰DOM指的等于将真确的DOM树构造为js对象的口头,从而解决浏览器操作真确DOM的性能问题。

举例:如下DOM与杜撰DOM之间的映射干系

2.最小量更新

Diff的用途等于在新老杜撰DOM之间找到最小更新的部分,从而将该部分对应的DOM进行更新。

二、统共历程

Diff算法果真很好意思,统共历程如下图所示:

最初相比一下新旧节点是不是吞并个节点(可通过相比sel(领受器)和key(独一瑰丽)值是不是疏通),不是吞并个节点则进行暴力删除(注:先以旧节点为基准插入新节点,然后再删除旧节点)。 要是吞并个节点则需要进一步相比

绝对疏通,不作念处理

新节点实质为文本,告成替换完事

新节点有子节点,这个时代就要仔细有计划一下了:若老节点莫得子元素,则告成清空老节点,将新节点的子元素插入即可;若老节点有子元素则就需要按照上述的更新战略老惩处了(记取更新战略,又不错吹好几年了,666666)。

三、实战

光说不练假把式,底下告成输出diff算法的中枢实质。

3.1 patch函数

Diff算法的进口函数,主要判断新旧节点是不是吞并个节点kaiyun官方网站,然后交由不同的逻辑进行处理。

export default function patch(oldVnode, newVnode) {     // 判断传入的第一个参数,是DOM节点仍是杜撰节点     if (oldVnode.sel === '' 


Powered by Kaiyun体育下载 @2013-2022 RSS地图 HTML地图