Wei Zhang's Blog


  • 首页

  • 标签

  • 分类

  • 搜索

链表的中间节点

发表于 2021-06-01 | 分类于 数据结构
字数统计: 538 字 | 阅读时长 ≈ 2 分钟

题目描述:给定一个头结点为 head 的非空单链表,返回链表的中间结点。

如果有两个中间结点,则返回第二个中间结点。

阅读全文 »

canvas 实现吸色功能

发表于 2021-05-24 | 分类于 JavaScript
字数统计: 2.4k 字 | 阅读时长 ≈ 10 分钟
需求介绍实现吸管功能: 当点击吸管图标,出现遮罩层,突出需要吸色的画布 鼠标移动至画布,显示放大镜 放大镜中有网格线与中心点小方格。取色取的是中心点小方格的色值 网格线里的每个小方格都是像素点 放大镜需要一直出现在画布中,即鼠标移到画布的各个角落,放大镜都在 处理图像首先需要将图片 ...
阅读全文 »

Vue3-diff算法

发表于 2021-03-30 | 分类于 Vue
字数统计: 3k 字 | 阅读时长 ≈ 12 分钟

前言

Vue3.x借鉴了 ivi算法和 inferno算法。在创建 VNode 时就确定其类型,以及在 mount/patch 的过程中采用位运算来判断一个 VNode 的类型,在这个基础之上再配合核心的 Diff 算法,使得性能上较 Vue2.x有了提升。

该算法中还运用了动态规划的思想求解最长递归子序列

阅读全文 »

Vue2-diff算法

发表于 2021-03-09 | 分类于 Vue
字数统计: 2.4k 字 | 阅读时长 ≈ 10 分钟

前言

当 dom 发生更改时候,Vue 会用虚拟 dom 进行 diff 算法,diff 算法采用的是同层的树节点比较的方式,时间复杂度只有O(n),是一种相当高效的算法。diff 的过程就是调用了名为 patch 的函数( patch 机制),它的主要功能是比对两个 VNode 节点,将「差异」更新到视图上。

Vue2 的 diff 算法,参考了 snabbdom.js ,使用的是 双端比较算法。

阅读全文 »

Virtual DOM

发表于 2021-03-09 | 分类于 Vue
字数统计: 534 字 | 阅读时长 ≈ 2 分钟

Virtual DOM 是对真实 DOM 的抽象,用一个原生的 JS 对象去描述一个 DOM 节点,其关键属性有标签名、数据、子节点等。

在 Vue.js 中,Virtual DOM 是用 VNode ,一个 Class 去描述,通过 VNode 的 elm 属性可以访问到对应的 Node

阅读全文 »
<1…495051…191>

一期一会

951 日志
46 分类
68 标签
GitHub E-Mail
© 2017 — 2022 Wei Zhang | Site words total count: 684.2k
 本站访客数 人  本站总访问量 次