自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 node-ts

搭建Node TS开发环境 项目结构 npm init -y npm i typescript ts-node-dev tslint @types/node -D npm i sequelize-typescript@0.6.11 npm i sequelize@6.3.3 启动脚本 "scripts": { "start": "ts-node-dev ./src/index.ts -P tsconfig.json --no-cache", "build": "tsc -P tsconfig..

2021-03-06 23:14:04 259

原创 Vue源码 — 虚拟DOM & diff算法

虚拟DOM 定义:虚拟DOM是DOM的js抽象表示,它们是JS对象,可以表示DOM的结构和关系 优点: 虚拟DOM轻量(比真实DOM小的多)、快速;通过新老DOM的对比可以得到最小的DOM改动,配合异步更新策略(批量更新),从而提升性能;避免一边操作数据一边改DOM; 跨平台:在不同平台运行,就将虚拟DOM转换成对应的平台元素 必要性:vue1.0中监听的力度太细(每个响应式数据都有一个对应的watcher),导致响应式数据过多、过复杂时能存占用率飙升、开销太大,大型项目无法接收;因为在2.0当中采用一

2021-02-19 21:37:33 75

原创 vue 源码 - nextTick

1. 宏任务: 定义:一个个独立的任务 哪些属于宏任务:主代码块(同步)、setTimeout、setInterval、xhr(ajax) 2. 微任务: 定义:一个连续的任务串 哪些属于微任务:promise、mutationObserver等 3. 为什么有了宏任务,还会有微任务存在? 因为宏任务太占用性能,当需要一些较早就准备好的方法,排在最后才执行的时候,又不想新增一个宏任务,那么就可以把这些方法,一个一个的放在微任务队列里面,在这个宏任务中的代码执行完后,就会执行微任务队列。 4. 执

2021-02-18 23:52:31 161

原创 Vue源码-1

一、初始化过程 安装平台特有的__patch__函数(diff发生的地方) Vue.prototype.patch = isBorower ? patch : noop 声明$mount,实际执行的是mountComponent方法来进行挂载;扩展 $mount:将template和el编译为render——entry-runtime-with-compiler.js 声明全局API:initGlobalAPI(Vue) Vue.nextTick/use/derective/component

2021-02-18 21:40:16 112

转载 for in处理数组的性能问题

for…in 循环会迭代所有属性,不仅仅是这些数字属性。 在浏览器和其它环境中有一种“类数组”的对象,它们看似是数组,也就是说,它们有 length 和索引属性,但是也可能有其它的非数字的属性和方法,这通常是我们不需要的。for…in 循环会把它们都列出来。所以如果我们需要处理类数组对象,这些“额外”的属性就会存在问题。 for…in 循环适用于普通对象,不适用于数组,而且会慢 10-100 倍。...

2019-05-03 12:32:30 290

原创 数组方法详解

数组方法详解之二——查询元素及部分数组操作 数组的查询 1、indexOf/lastIndexOf/includes arr.indexOf(item, from) 从索引 from 查询 item,如果找到返回索引,否则返回 -1。 arr.lastIndexOf(item, from) — 和上面相同,只是从尾部开始查询。 includes 存在兼容性问题。(Google 47、火狐43及其以...

2019-04-13 19:42:02 227

原创 数组方法详解

数组原生api之一——添加/删除元素 1、push: arr.push(...items) — 从结尾添加元素 var arr = [1, 2, 3, 4, 5] var arrPush = arr.push(11) // 改变原数组arr,在原数组末尾追加;并返回改变后的arr的length console.log(arr) // [1, 2, 3, 4, 5, 11] console.log...

2019-04-07 23:44:22 79

原创 vue 销毁keep-alive

这里写自定义目录标题需要解决的问题填坑新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 需要解决的问题 前提是:...

2019-03-14 14:55:36 5598

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除