算法
一几先生
保持求知欲
展开
-
深度解析dom diff算法(三)
react diff算法实现我们了解了,我们继续对比学习以下vue的算法流程是怎样的 VUE算法时间复杂度 同样是将时间复杂度降低到了O(n) Vue对diff算法的改进 1、和react的策略如出一辙,同样的三条策略 2、唯一不同点在于element diff的纬度上vue有了自己的想法 Vue对element diff做的优化 在vue内部遍历新旧树同一层级节点时,对于旧树和新树分别有一个头尾指针(共四个指针,分别是oldStart,oldEnd,newStart,newEnd),利用这.原创 2020-10-27 21:49:04 · 369 阅读 · 0 评论 -
深度解析dom diff算法(二)
了解了vdom和dom diff的前世今生,让我们来看看当今主流前端框架的diff算法策略又是什么,本篇我们先介绍react的dom diff算法 React算法时间复杂度 众所周知,react框架把diff算法复杂度由O(n的三次)降低到了O(n) React对diff算法的改进 react的diff算法针对三个纬度产出了相应的优化策略: 1、web ui中跨层级的移动操作很少,可以忽略不计 (tree diff) 2、拥有相同类型的两个组件将会生成相似的树形结构,不同类型的组件生成不同的树形结.原创 2020-10-26 22:35:59 · 517 阅读 · 1 评论 -
深度解析dom diff算法(一)
最近公司内部正好要准备技术分享,所以花了大概三个月的时间去学习关于domdiff算法的知识,文章会结合源码和图片尽量的深入浅出,把整个过程说的明白、讲的清晰。 文章分三篇: 一、认识virtual dom && diff算法演进史 二、react的dom diff策略 三、vue的dom diff策略 什么是virtual dom? 简单一句话,就是用javascript模拟出来的dom对象 为什么要有virtual dom? ![在这里插入图片描述](https://img-blog.原创 2020-10-09 21:38:14 · 949 阅读 · 0 评论