DIFF 算法的作用:同层树节点比较的算法那么 DIFF 算法是如何工作的?
一、首先是先计算新老 DOM 的最小变化该算法会先遍历一遍老的 DOM. 然后在遍历新的DOM,最后会判断是改变/新增/删除来重新排序。这样无疑是非常耗费计算的,我们看一看出总共遍历了三回、如果有一千个节点.那么就湖发生了十亿次的计算。
二. diff 算法的优化diff 算法的优化也就是这个算法的核心部分了,简单来说就是针对具有相同父节点的同层新旧子节点进行比较,不相同的话就会新增或者删除,而不是使用逐层搜索递归遍历的方式。时间复杂度为 O(n)。

  1. 只比较同一层级,不跨级比较
  2. 标签不同,直接删除,不继续比较
  3. 标签名相同, key相同,就认为是相同节点,不继续深度比较