1.首先介绍下算法最基本的时间复杂度,可以拿一个最简单的例子用来记忆:查询一个数组中的数字。
最好时间复杂度:O(1)
数组中的第一个数就是我们要找的
最坏时间复杂度:O(n)
可能没找到,也可能最后一个是我们要找的
平时时间复杂度:O(1)
每种情况操作数相加/总情况数
(1,2,3,4…..n)/(n+1)
// n+1中的1是指没找到的情况
均摊时间复杂度:O(1)
O(n)/n
2.虚拟DOM
数据模型-> VirtualDom-> 视图(DOM)
可以将虚拟DOM理解为一个DSL
其实,网络上说的虚拟DOM相比原生DOM会快些,其实这是不准确的,我们要基于特定场景和大规模数据,其实原生JS>vue>react,应该是这个顺序,只是,原生js在操作DOM的时候,可能会代码不够优化等问题,造成多次的重排和重绘,自然性能不会太好,但是,我们可以做性能优化,比如切片等。Sevlte就是没有diff也没有虚拟DOM,但是也很快。
{
type: 'div',
props: {
}
}
3.关于使用索引作为Key,vue and react都有问题
1)vue表现都不正常
2)react表现正常,但是性能损耗了,全部渲染一遍