虚拟dom和diff算法
1.虚拟dom是一个能代表DOM树的对象,通常含有标签名,标签上的属性、事件监听和子元素们和子元素们的属性
2.虚拟dom优点,能减少不必要的DOM操作,能跨平台渲染。比方添加节点的时候,不用一次次的添加,直接一次添加完。domdiff可以省掉多余的操作,比方讲新加10个节点的时候不用把原来就在的节点全部再添加一遍。
3.虚拟dom缺点,需要额外的创建函数,比如react的createElenment或vue的h,但是可以通过JSX来简化XML的写法。
4.diff算法是比较两个dom树的,发现树有不同就改变,添加key值可以让浏览器知道加和减的操作而不是改。
5.在数据量只有几千的时候,或者说量比较小的时候,用虚拟dom很好,因为它可以优化多余的操作。数据量比较大的时候,原生dom可以保证一定的稳定性,react需要自己做优化,vue自己做了优化。