自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (5)
  • 收藏
  • 关注

原创 手写 vue-router

前端路由就是匹配不同的 URL 路径,进行解析,然后动态地渲染出区域 HTML 内容。但是这样存在URL 每次变化都会造成页面的刷新。在 2014 年之前,大家是通过 hash 来实现前端路由,URL hash 中的 # 就是类似于下面代码中的这种 # :之后,在进行页面跳转的操作时,hash 值的变化并不会导致浏览器页面的刷新,只是会触发 hashchange 事件。在下面的代码中,通过对 hashchange 事件的监听,我们就可以在 fn 函数内部进行动态地页面切换。

2022-09-20 09:18:28 280

原创 vue3 虚拟DOM的diff算法

我们再看一下这个题,贪心的思路就是在寻找最长递增的序列,所以,[1,3]要比[1,5]好,也就是说,在这个上升的序列中,我们要让上升速度尽可能变得慢,这样才有可能让后面的元素尽可能也递增。上面代码的思路,我们用下图演示。上一讲我们详细介绍了在虚拟 diff 计算中,如果新老子元素都是数组的时候,需要先做首尾的预判,如果新的子元素和老的子元素在预判完毕后,未处理的元素依然是数组,那么就需要对两个数组计算 diff,最终找到最短的操作路径,能够让老的子元素通过尽可能少的操作,更新成为新的子元素。

2022-09-20 09:03:41 669

原创 JS 运行机制

摘抄《大前端技术之路》

2022-07-05 22:31:11 246

原创 esLint原理

ESLint

2022-07-05 22:04:51 342

原创 架构设计的原则

架构设计

2022-07-05 21:56:55 79

原创 栈空间和堆空间

堆栈

2022-07-05 21:54:09 167

原创 正则表达式

正则

2022-07-05 21:52:33 53

原创 基于.NET 的一些开源框架和项目

wiindows开发

2022-07-04 14:49:09 1030

原创 V8工作图

v8

2022-07-04 14:40:48 74

原创 TCP/IP

计算机网络

2022-07-04 14:27:40 350

原创 Http协议

http相关

2022-07-04 14:23:35 92

原创 CSS 架构

css

2022-07-04 14:09:22 582

原创 Linux命令

linux常用指令

2022-07-04 13:04:25 63

原创 前端工作设计规范

前端设计

2022-07-04 11:04:46 826

原创 Web基础技术开发设计规范

前端开发规范

2022-07-04 10:49:41 657

原创 Vue 自定义指令

Vue自定义指令有全局注册和局部注册两种方式。先来看看注册全局指令的方式,通过 Vue.directive( id, [definition] ) 方式注册全局指令。批量注册指令,新建 directives/index.js 文件。然后在入口文件中进行 Vue.use() 调用。import copy from './copy'import longpress from './longpress'// 自定义指令const directives = { copy, longpress

2022-03-25 15:43:58 343

原创 Vue3设计方案-使用服务方式来调用vue组件

在用 elementUI、antdUI 等 ui 框架的时候,都会用到 Message 全局的提示方法,而平时常用的 Vue 组件都是写成 tag 来使用,而 Message 等组件的使用方式则不同,不用引入 Message 的 vue 组件,用 js 就能接下来将上面组件改写成用 js 调用的方式:在改写之前,还需要了解 vue3 的几个全局 API:defineComponent: 将函数或者对象转换成对象返回 h: 将组件对象转换成 vnode render:将 vnode 挂载到..

2022-03-21 15:30:30 678

原创 JS高阶函数 第一章

javascript的高阶函数

2022-03-18 19:03:34 91

原创 Vue高阶函数-vue-property-decorator

1、vue-property-decorator这个组件完全依赖于vue-class-component.它具备以下几个属性:@Component (完全继承于vue-class-component) @Emit @Inject @Provice @Prop @Watch @Model Mixins (在vue-class-component中定义);使用当我们在vue单文件中使用TypeScript时,引入vue-property-decorator之后,script中的标签就

2022-03-16 17:33:14 850

原创 常用算法第一章

1、栈class Stack { constructor() { this.list = [] } // 进栈 push(e) { this.list.push(e) } // 出栈 pop() { return this.list.pop() } // 获取栈顶元素 getTopElement() { return this.list[this.lis

2022-03-15 22:03:32 58

原创 ES6 数组

1、Array.from 方法创建数组(es6 新增)在 js 中将非数组对象转换为真正的数组是非常麻烦的。在 ES6 中,将可迭代对象或者类数组对象作为第一个参数传入,Array.from()就能返回一个数组。function arga(...args) { //...args剩余参数数组,由传递给函数的实际参数提供 let arg = Array.from(args); console.log(arg);}arga( arr1 , 26, from ); // [

2022-03-15 14:58:33 524

原创 JS 常用数组函数

1、Array.isArray()检测是否是数组2、toString()转换为字符串,在默认情况下都会以逗号分隔字符串的形式返回字符串3、正序排序var arr = [1, 2, 3, 11, 12, 456];console.log(arr.sort((a, b) => { return a - b}));//返回[ 1, 2, 3, 11, 12, 456 ]4、倒叙排序var arr = [1, 2, 3, 11, 12, 456];console.

2022-03-15 14:45:46 2794

javaEE学生成绩管理系统

javaEE的课程设计学生成绩管理系统。其代码是经过了本人的优化,

2012-12-04

虚拟光驱vcdman

虚拟光驱

2012-10-29

Redfield艺术光影滤镜

ps工具。Redfield艺术光影滤镜

2012-07-22

3D文字滤镜

PS工具:该工具能够结合CS5,将自己做出3D的效果,但是,你的ps软件需要是专业版本的。

2012-07-22

空空如也

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

TA关注的人

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