🎠

v2-diff

vue2中的diff都是拿vnode做同级比较的,因为是同级所以说他的效率很高,时间复杂度为0(n),不会做跨级比较(没必要,本来就是用时间换空间,这样比较来,性能上可能并没有太好)
notion image
 
  1. 首先是比对是否是同一个节点(根绝tag名字和key值),这里面要处理一下文本节点的问题
  1. 然后再判断是否有新增的props属性
  1. 开始比较儿子节点
    1. 3.1 如果两个都有儿子节点
      3.1.1 双指针的方法去比较
      3.2 如果只有老的没有新的
      3.3 如果只有新的没有老的