web-interview icon indicating copy to clipboard operation
web-interview copied to clipboard

[vue] 52. diff 算法

Open qiilee opened this issue 6 years ago • 1 comments

qiilee avatar Oct 08 '19 07:10 qiilee

diff算法包括一下几个步骤:

用 JavaScript 对象结构表示 DOM 树的结构;然后用这个树构建一个真正的 DOM 树,插到文 档当中

当状态变更的时候,重新构造一棵新的对象树。然后用新的树和旧的树进行比较(diff),记录两棵树差异 把2所记录的差异应用到步骤1所构建的真正的DOM树上(patch),视图就更新了 diff算法是通过同层的树节点进行比较而非对树进行逐层搜索遍历的方式,所以时间复杂度只有O(n),是一种相当高效的算法。

Ludogage avatar Nov 23 '21 15:11 Ludogage