Vue diff算法


# Diff算法

`Diff`算法的核心就是**针对具有相同父节点的同层新旧子节点进行比较,而不是使用逐层搜索递归遍历的方式。时间复杂度为`O(n)`**。
 

如何理解?
 

说白点,就是**当新旧`VNode`树在同一层具有相同的`VNode`节点时,才会继续对其子节点进行比较**。一旦旧`VNode`树同层中的节点在新`VNode`树中不存在或者是多余的,都会在新的真实`DOM`中进行添加或者删除。

下面就拿一副图进行解释。
Vue diff算法

 

从上面的示例图可以看到,`Diff`算法中只会对同一层的元素进行比较,并且必须拥有相同节点元素,才会对其子节点进行比较,其他多余的同层节点都会一律做删除或添加操作。

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/279417.html

(0)
上一篇 2022年8月8日 00:35
下一篇 2022年8月8日 00:36

相关推荐

发表回复

登录后才能评论