Vue diff 算法

一、虚拟 DOM (virtual dom)

  diff 算法首先要明确一个概念就是 diff 的对象是虚拟DOM(virtual dom),更新真实 DOM 是 diff 算法的结果。

  注:virtual dom 可以看作是一个使用 JavaScript 模拟了 DOM结构 的树形结构,这个树结构包含整个DOM结构的信息

二、为什么使用 diff 算法?

  1、页面结构庞大时,DOM 操作代价太高,可维护性差,因此要减少 DOM 操作;

  2、虚拟 DOM 很轻量,对虚拟 DOM 操作快;

  3、diff 算法 是找出本次 DOM 需要更新的节点进行更新,其余不更新,对 DOM 进行原地复用,减少 DOM 创建性能耗费,可以减少浏览器页面的重绘。

三、diff 算法原理

  源码

   

随笔整理自 
  https://www.jianshu.com/p/bf9a8b4773ee  
  https://segmentfault.com/a/1190000008782928
  https://blog.csdn.net/m6i37jk/article/details/78140159
  http://www.ituring.com.cn/article/211352
感谢博主分享!

猜你喜欢

转载自www.cnblogs.com/gaosirs/p/10619603.html