虚拟DOM

主要用处

虚拟DOM主要用于映射真实DOM上,用于减少重复的大量的DOM渲染。将原来频繁的dom操作合并起来。

原理

通过javascript对象表示出一个虚拟DOM用来映射真实DOM,视图的结构确实是整个全新渲染了,但是最后操作DOM的时候确实只变更有不同的地方。

Virtual DOM 算法

1 用 JavaScript 对象结构表示 DOM 树的结构;然后用这个树构建一个真正的 DOM 树,插到文档当中 2 当状态变更的时候,重新构造一棵新的对象树。然后用新的树和旧的树进行比较,记录两棵树差异(diff算法,diff也是虚拟dom的核心) 3 把2所记录的差异应用到步骤1所构建的真正的DOM树上,视图就更新了

Virtual DOM与DocumentFragment VirtualDOM的目的是不仅允许对稍后注入DOM的系统进行大规模编辑,而且允许在不存在DOM的环境中进行任何编辑。这是DocumentFragments和VirtualDOM的实际应用之间的最大区别。