自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 知识整理和分享(js篇)

一、数据类型(引用类型,基本类型)二、闭包,原型链,作用域链三、js的继承 class四、ES NEXT五、js中的this指向问题六、深浅拷贝七、虚拟dom八、ssr九、js内存机制十、如何进行垃圾回收十一、EventLoop 宏任务,微任务十二、promise Generator函数 asnyc await十三、js设计模式十四、算法问题...

2020-03-30 23:47:01 330

原创 知识整理和分享(框架篇)

一、vue生命周期vuex二、react生命周期数据流虚拟dom中间件三、2者的对比

2020-03-30 23:46:34 444

原创 js 宏任务和微任务

js 宏任务和微任务宏任务(macrotask )和微任务(microtask )macrotask 和 microtask 表示异步任务的两种分类。在挂起任务时,JS 引擎会将所有任务按照类别分到这两个队列中,首先在 macrotask 的队列(这个队列也被叫做 task queue)中取出第一个任务,执行完毕后取出 microtask 队列中的所有任务顺序执行;之后再取 macrotask...

2019-05-22 15:49:44 464 1

原创 JS中的深浅拷贝 总结

深浅拷贝

2019-03-22 10:49:29 246

原创 BFC的介绍

边距重叠解决方案(BFC)首先要明确BFC是什么意思,其全英文拼写为 Block Formatting Context 直译为“块级格式化上下文”BFC的原理内部的box会在垂直方向,一个接一个的放置每个元素的margin box的左边,与包含块border box的左边相接触(对于从做往右的格式化,否则相反)box垂直方向的距离由margin决定,属于同一个bfc的两个相邻box的ma...

2019-02-28 18:55:41 166

原创 css盒模型

**基本概念**话不多说,直接上两张图。标准模型在标准模型中,盒模型的宽高只是内容(content)的宽高IE模型而在IE模型中盒模型的宽高是内容(content)+填充(padding)+边框(border)的总宽高。相信大家看这个图就大概能明白了,哈哈哈。盒模型的组成大家肯定都懂,由里向外content,padding,border,margin。只不过两种模型的计算不...

2019-02-28 11:43:18 95

原创 HTTP 2.0与HTTP 1.1区别

HTTP2.0与HTTP1.1相比,主要区别包括:HTTP/2采用二进制格式而非文本格式HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行使用报头压缩,HTTP/2降低了开销HTTP/2让服务器可以将响应主动“推送”到客户端缓存中HTTP/2采用二进制的优势比起像HTTP/1.x这样的文本协议,二进制协议解析起来更高效、“线上”更紧凑,更重要的是错误更少。...

2019-01-08 10:27:52 133

原创 常见的HTTP状态码

HTTP状态码1xx:指示信息 – 表示请求已接收,继续处理2xx:成功 – 表示请求已被成功接收3xx:重定向 – 要完成请求必须进行更进一步的操作4xx:客户端错误 – 请求有语法错误或请求无法实现5xx:服务器错误 – 服务器未能实现合法的请求常见的HTTP状态码200 OK:客户端请求成功206 Partial Content:客户发送了一个带有Range头的get请...

2019-01-07 18:40:37 330

原创 http请求方式 get 和 post 的区别

http请求方式中的 get 和 post 的区别有如下几点:get在浏览器回退时是无害的,而post会再次提交请求get产生的url地址可以被收藏,而post不可以get请求会被浏览器主动缓存,而post不会,除非收动设置get请求只能进行url编码,而post支持多种编码方式get请求参数会被完整保留在浏览器历史记录里,而post中的参数不会被保留get请求在url中传递的参数是...

2019-01-07 18:16:48 120

原创 vue中的生命周期

首先,每个Vue实例在被创建之前都要经过一系列的初始化过程,这个过程就是vue的生命周期,下面这张图是从vue官网扣过来的,就是演示的vue的生命周期:所以我们可以知道vue的生命周期有以下几个:beforeCreate 创建前created 创建后beforeMount 载入前mounted 载入后beforeUpdate 更新前updated 更新后b...

2019-01-07 16:08:18 372

原创 关于vue中的双向绑定

vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的 setter, getter, 在数据变动是发布消息给订阅者,触发相应的监听回调。具体步骤:第一步:需要 observe 的数据对象进行递归遍历,包括子属性对象的属性,都加上 setter 和 getter 这样的话,给这个对象的某个值赋值,就会触发setter,那么就能...

2019-01-07 15:53:38 219

原创 关于MVVM和MVC

什么是MVVM?MVVM分为三个部分:分别是M(Model,模型层 ),V(View,视图层),VM(ViewModel,V与M连接的桥梁,也可以看作为控制器)1、 M:模型层,主要负责业务数据相关;2、 V:视图层,顾名思义,负责视图相关,细分下来就是html+css层;3、 VM:V与M沟通的桥梁,负责监听M或者V的修改,是实现MVVM双向绑定的要点;MVVM支持双向绑定,意思就是当...

2019-01-07 12:32:08 204

原创 三栏布局

假设高度已知,请写出三栏布局,其中左栏、右栏各为300px,中间自适应的方法:<!DOCTYPE html><html><head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"&gt

2019-01-05 17:13:59 113

转载 Promise实现多图预加载

最近项目中有用到 canvas 绘图,绘图的时候需要等所有的图片都加载完,所以在想有什么好的办法实现图片的预加载,在网上找到了下面这篇文章写得很不错,就直接转载啦。。。希望对大家有帮助。Promise正如它的中文意思“承诺”一样,保存着未来会发生事件(一般为异步操作)。Promise避免了“回调地狱”,写法更加接近同步操作。说到同步,我更加喜欢async、await,它们书写更贴近同步操作。...

2019-01-05 16:11:18 210

原创 用 promise 封装小程序中的 wx.request

最近在做小程序的项目,里面用到了小程序的请求wx.request,示例代码如下:wx.request({ url: 'test.php', // 仅为示例,并非真实的接口地址 data: { x: '', y: '' }, header: { 'content-type': 'application/json' // 默认值 }, success(...

2019-01-05 15:43:30 403

原创 javascript 基础篇之 Array 对象

在日常工作中大家对数组肯定是不会陌生的,也经常会用到数组对象的属性和方法。下面是我整理和总结的一些关于数组的方法和使用,希望对大家有用。var arr = [1,2,3,4,5]arr.shift(); //删除数组第一项 并返回此元素arr.unshift(0); //往数组的开头添加一个或者多个元素 返回的是新的数组的长度arr.push(9); //往数组最后插入一项...

2019-01-04 12:25:25 161

转载 JavaScript中的序列化和反序列化使用

JavaScript中的序列化和反序列化使用对象序列化是指将对象的状态转换为字符串(来自我这菜鸟的理解,好像有些书上也是这么说的,浅显易懂!);序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程(来自“百度百科—序列化“,学术性强,略显高端);使用:序列化:即js中的Object转化为字符串1.使用toJSONStringvar last=obj...

2018-10-09 15:01:38 295

原创 项目中常用到的git指令

最近的项目开始在用git管理代码进行开发,但是之前都是用的SVN(小乌龟)所以这些git指令经常忘记。。。。 (2333333333)so,打算在这里记录一下项目中经常用到的一些git指令——好了废话不多说开始~~~首先要创建一个本地分支(创建一个本地文件夹)然后用 git clone …(…这里是项目代码地址)把远程代码clone到本地分支然后是正常的代码提交流程git...

2018-09-13 15:08:35 204

原创 在GitLab中删除项目

首先选择项目导航栏中找到 Repository中的branches此时就可以看到所有的项目分支,选择需要删除的点击删除即可

2018-09-13 11:36:35 945

空空如也

空空如也

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

TA关注的人

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