xuweikang

  •   Blog
  •   Archive
  •   Category
  •   Tag
 2023-12-18
vue3源码 -- 2. 响应式【中】

回顾Vue2 的响应式 Vue3 的响应式从 Reactive 开始 createReactiveObject: baseHandlers: Proxy.get Proxy.set Proxy.deleteProperty Proxy.ha...

Read More
 vue3  源码  Comment  Share
 2023-12-17
vue3源码 -- 2. 响应式【上】

从一个简单例子开始 Vue.createApp packages/runtime-core/src/index.ts ensureRenderer 执行render方法从一个简单例子开始<div id="app"> <button></but...

Read More
 vue3  源码  Comment  Share
 2023-12-16
vue3源码 -- 1. 项目结构和开发环境

1. Vue 2和Vue 3的项目结构比较 1.1 核心库 1.2 运行时 1.3 编译器 1.4 辅助工具和插件 1.1 核心库 1.2 运行时 1.3 编译器 1.4 辅助工具和插件 2. Monorep...

Read More
 vue3  源码  Comment  Share
 2023-09-26
跨浏览器通信有多少种方式

为什么需要浏览器标签之间的通信? JavaScript 如何实现跨标签通信? 1. BroadcastChannel (MDN) 2. Service Worker 3. localStorage 4. SharedWorker (MDN) ...

Read More
 js  浏览器  跨进程  通信  同源  Comment  Share
 2023-07-06
背包问题(01背包和完全背包)

定义 01背包 暴力解法 二维dp数组(动规五步法) 1. 确定dp数组以及下标意义 2. 确定递推公式 3. db数组初始化 4. db数组遍历顺序 5. 举例演示dp数组...

Read More
 js  算法  背包  Comment  Share
 2023-06-25
ts类型系统-逆变、协变、双变和不变

定义 协变(Covariant) 逆变(Contravariant) 双变(Bivariant) 不变(Invariant) 总结 逆变协变对 infer 的影响 练习定义「Subtyping」 是一个面向对象编程中非常重要的概念,用于描述一个类型和另一个类型之间的关系。一个类型可以被看作是另一...

Read More
 ts  类型  Comment  Share
 2023-05-25
Vue2框架源码分析-keep-alive

介绍和应用 keep-alive是什么 它的使用场景 源码解析 keep-alive不会生成真正的DOM节点,这是怎么做到的? keep-alive包裹的组件是如何使用缓存的? 介绍和应用keep-alive是什么 keep-a...

Read More
 Vue2  源码  Comment  Share
 2023-05-10
设计模式-策略模式

定义 策略模式的优点 策略模式的缺点 举个例子 1. 策略三角色 — 策略接口(): 2. 策略三角色 — 实现策略类(ConcreteStategy): 3. 策略三角色 — 引用策略类(Context): 定义当我们需要在运行时根据不同的情境选择不同的...

Read More
 设计模式  ts  Comment  Share
 2023-05-10
设计模式-命令模式

定义 命令模式的优点 命令模式的缺点 举个例子 1. 命令四角色 —命令接口: 2. 命令四角色 — 实现命令接口:(ConcreteCommand): 3. 命令四角色 — 接收者(Receiver): 3. 命令四角色 — 调用者(Invoker): ...

Read More
 设计模式  ts  Comment  Share
 2023-04-26
Vue2框架源码分析-虚拟dom

定义 可能的疑问? 1. 虚拟DOM为何能提高页面更新性能? 2. 虚拟DOM的节点信息怎么和真实DOM联系起来的 3. vue是怎么做到批量修改dom的,如何优化的。 VNnode patch 1. 新增节点 2. 删除节点 3. 更新节点 ...

Read More
 Vue2  源码  Comment  Share
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  © xuweikang