Vue的diff算法解析
1. 前言
diff算法是一种通过同层的树节点进行比较的高效算法,避免了对树进行逐层搜索遍历,所以时间复杂度只有 O(n)。diff算法的在很多场景下都有应用,例如在 vue 虚拟 dom 渲染成真实 dom 的新旧 VNode 节点比较更新时,就用到了该算法。diff算法有两个比较显著的特点:
比较只会在同层级进行, 不会跨层级比较。
在diff比较的过程中,循环从两边向中间收拢。
2. diff流程
本着对 diff 过程的认识和 vue 源码的学习,我们通过 vue 源码的解读和实...