Skip to main content

Command Palette

Search for a command to run...

diff算法与虚拟dom

Updated
1 min readView as Markdown

snabbdom

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

diff算法

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

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

四种命中查找:

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

虚拟dom

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

More from this blog

js 数组方法

一、增删改方法 push()方法接收任意数量的参数,并将它们添加到数组末尾,返回数组的最新长度 unshift()在数组开头添加任意多个值,然后返回新的数组长度 pop() 方法用于删除数组的最后一项,同时减少数组的 length 值,返回被删除的项 shift()方法用于删除数组的第一项,同时减少数组的 length 值,返回被删除的项 splice功能强大,可以同时对数组进行增删改的操作 二、搜索和位置方法 indexOf()返回要查找的元素在数组中第一次出现的下标,如果没找到则返回 -1 ...

Oct 16, 20231 min read

Server-Sent Events(SSE)

Server-Sent Events(SSE)是一种用于实现服务器向客户端实时推送数据的Web技术。与传统的轮询和长轮询相比,SSE提供了更高效和实时的数据推送机制。 SSE基于HTTP协议,允许服务器将数据以事件流(Event Stream)的形式发送给客户端。客户端通过建立持久的HTTP连接,并监听事件流,可以实时接收服务器推送的数据。 SSE的主要特点包括: 简单易用:SSE使用基于文本的数据格式,如纯文本、JSON等,使得数据的发送和解析都相对简单。 单向通信:SSE支持服务器向客户...

Sep 21, 20231 min read

Untitled Publication

28 posts