Vue diff算法
作者:互联网
# Diff算法
`Diff`算法的核心就是**针对具有相同父节点的同层新旧子节点进行比较,而不是使用逐层搜索递归遍历的方式。时间复杂度为`O(n)`**。 如何理解?
说白点,就是**当新旧`VNode`树在同一层具有相同的`VNode`节点时,才会继续对其子节点进行比较**。一旦旧`VNode`树同层中的节点在新`VNode`树中不存在或者是多余的,都会在新的真实`DOM`中进行添加或者删除。
下面就拿一副图进行解释。 从上面的示例图可以看到,`Diff`算法中只会对同一层的元素进行比较,并且必须拥有相同节点元素,才会对其子节点进行比较,其他多余的同层节点都会一律做删除或添加操作。
`Diff`算法的核心就是**针对具有相同父节点的同层新旧子节点进行比较,而不是使用逐层搜索递归遍历的方式。时间复杂度为`O(n)`**。 如何理解?
说白点,就是**当新旧`VNode`树在同一层具有相同的`VNode`节点时,才会继续对其子节点进行比较**。一旦旧`VNode`树同层中的节点在新`VNode`树中不存在或者是多余的,都会在新的真实`DOM`中进行添加或者删除。
下面就拿一副图进行解释。 从上面的示例图可以看到,`Diff`算法中只会对同一层的元素进行比较,并且必须拥有相同节点元素,才会对其子节点进行比较,其他多余的同层节点都会一律做删除或添加操作。
标签:Vue,同层,VNode,算法,Diff,diff,节点,进行 来源: https://www.cnblogs.com/yxlbk/p/16559786.html