自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue-Router原理以及简单实现

Vue-Router原理以及简单实现@vue/cli项目中的常规用法import Vue from 'vue'import VueRouter from 'vue-router'// Vue.use()方法注册路由插件,参数为函数直接执行,对象调用对象上的install 方法Vue.use(VueRouter)import Home from '@/pages/home/index.vue'const routes = [ { path: '/', component: Home

2020-09-02 14:45:21 360

原创 浏览器缓存(强缓存、协商缓存) --- cache-Control、Etag 、Last-Modified

浏览器缓存缓存会根据请求保存输出内容的副本,例如页面、图片、文件,当下一次请求来到的时候,如果是相同的URL,缓存直接使用本地的副本响应访问请求,而不是向源服务器再次发送请求。缓存机制浏览器第一次请求第二次请求从以上两幅图,可以清楚了解浏览器缓存的过程首次访问一个UR,没有缓存,但是服务器 会响应一些header信息,如:expire、cache-control、last-modified、etag等,来记录下次请求是否缓存、如何缓存再次访问这个URL时,浏览器会根据首次访问返回的hea

2020-09-01 10:36:09 2245 1

原创 JS数据结构和算法、javascript数据结构实现

JS数据结构和算法栈后进先出,新元素都靠近栈顶栈也被用在编程语言的编译器和内存中保存变量、方法调用等,也被用于浏览器历史记录数组实现用数组保存栈里的元素对元素的插入和删除功能进行限制,使其遵循LIFO实现以下方法push pop peek isEmpty clear sizeclass Stack{ constructor() { this.items = [] } push = el => { this.items.push(el) } pop =

2020-08-31 17:05:32 167

原创 前端模块化(AMD,CMD,CommonJs,ES6)

前端模块化将代码以功能区分,分成各个模块。模块化演进过程最早期:以文件形式划分将js代码分成各个模块文件,以script src引入这种模式会带来很多问题:-污染全局变量命名冲突无法管理模块依赖关系完全依靠约定第二阶段:命名空间方式将方法、变量用JavaScript Object包裹第三阶段: 使用立即执行函数包裹实现了私有成员的概念用立即执行函数的参数来表名依

2020-08-28 17:24:12 165

原创 进程线程(概念,多线程、多进程、并行和并发)

进程线程线程与进程1.概念线程:是程序执行流的最小单元,是系统独立调度和分配CPU(独立运行)的基本单位。进程:是资源分配的基本单位。一个进程包括多个线程。2.区别1.线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。2.每个进程都有自己一套独立的资源(数据),供其内的所有线程共享。3.不论是大小,开销线程要更“轻量级”4.一个进程内的线程通信比进程之间的通信更快速,有效。(因为共享变量)多线程,多进程前言:多进程,Windows 应用程序中消息有两种送出

2020-08-03 15:18:55 424

原创 vue源码学习(数据侦测、虚拟DOM、Diff算法)

vue源码├─dist # 项目构建后的文件├─scripts # 与项目构建相关的脚本和配置文件├─flow # flow的类型声明文件├─src # 项目源代码│ ├─complier # 与模板编译相关的代码│ ├─core # 通用的、与运行平台无关的运行时代码│ │ ├─observ

2020-08-03 15:11:30 271

空空如也

空空如也

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

TA关注的人

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