Skip to main content

diff算法与虚拟dom

Updated 1 min readMarkdown

snabbdom

snabbdom:虚拟dom库,diff算法鼻祖。
github:https://github.com/snabbdom/snabbdom

diff算法

diff算法:精细化比较,实现最小化更新

  • key表示是节点的唯一标识
  • 只有是同一个虚拟节点,才能精细化比较(选择器和key值相同表示为同一个虚拟节点)
  • 只进行同层比较,不会进行跨层比较(递归遍历)

四种命中查找:

  1. 新前与旧前
  2. 新后与旧后
  3. 新后与旧前
  4. 新前与旧后 命中一种就不再进行命中判断了

虚拟dom

虚拟dom:用js对象描述dom的层次结构,dom的一切属性在虚拟dom中都有对应的属性。

No comments yet. Be the first to comment.

More from this blog