自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NodeJs EventLoop与JavaScript EventLoop详解

EventLoop是什么EventLoop是一个代码执行模型,它规定了代码的执行顺序,nodeJs和JavaScript拥有各自的EventLoop,理解EventLoop能让我们更加理解代码的执行,更好地掌控代码宏任务和微任务​ JavaScript中的代码执行分为同步执行和异步执行,而异步执行的代码中又分为宏任务和微任务,它们的执行顺序有所不同。它们并没有什么概念性的差别,只是根据执行顺序的不同而进行区分,仅此而已。因此,只需要硬性的记住哪些是宏任务哪些是微任务就可以了。宏任务(macrota

2021-01-28 16:48:11 401

原创 简单易懂地测试localStorage的已使用容量和最大容量

获取使用容量思路:window.localStorage是一个对象,可以通过获取对象中存储的各个条目的length的总和来进行计算,公式:((length的总和)/ 1024).toFixed(2),如此计算出来的就是已经使用了多少KB的容量if(!window.localStorage){ console.log("浏览器不支持localStorage"); return;}var size=0;var storage = window.localStorage;for(var

2021-01-21 21:00:42 3506

原创 10分钟清楚地知道防抖和节流以及它们的区别

防抖:触发高频事件后n秒内事件处理函数只会执行一次,如果n秒内事件再次被触发,则重新倒计时。最典型的一个例子就是电梯关门,假设电梯开门后20秒后关门,如果在关门的时候再次触发了开门事件,则电梯会重新从20秒开始倒计时关门时间。应用:比如鼠标滚轮事件,每次鼠标滚动都会触发一次事件,但是只有鼠标滚轮停下后n秒后才会真正触发最后的事件处理// 防抖实现function debounce(func){ let t = null; return function(){ // 每一

2021-01-21 20:57:43 345

原创 5分钟清楚地知道闭包是什么

前置知识:每个变量在定义的时候都拥有一个作用域,该变量只能在作用域内被调用,作用域外无法跨作用域调用每个变量都有生命周期,即从创建到销毁,一般变量的生命周期都与函数的执行同步。函数生命周期结束时会被内存回收机制进行清理概念:一个函数执行完毕返回另一个未执行(或者说待执行)的函数,且返回的函数又引用了上一层(或之前几层)函数中的局部变量时,会导致引用的变量虽然生命周期已经结束,但由于它依旧被引用着而无法被内存回收机制所回收,这种现象就叫做闭包例子function aaa () { // 这里定

2021-01-21 20:55:27 214

原创 cookie、sessionStorage和localStorage的区别

cookie、sessionStorage和localStorage的区别cookie:本意为小甜点、甜甜圈,其在前端中主要用于存储数据,存储大小为4K,会随着前端发送ajax请求而自动发往后端。其存储的时间可以自主进行设定,如果不设定就会在关闭浏览器的时候随之销毁。因为是挺久之前就开始使用的东西,因此它的兼容性相当的好,从低版本浏览器到高版本浏览器都能兼容。但是它的原生js方法使用起来有点啰嗦麻烦,如果有条件的可以进行二次封装再使用会比较好。sessionStorage:直译为会话存储,也是用于存储信

2021-01-20 09:14:47 217 1

原创 JWT之token机制与双token详解

token机制何为token​ token即为令牌,是服务器生成的一串字符串,作为客户端向服务器进行请求的“通行证”。在客户端进行初次登陆后由服务器返回,之后的每次请求只需要携带token进行请求即可,而无需携带密码等敏感信息为何tokentoken可以减少敏感信息在网络间的传递因为json的通用性,所以JWT是可以进行跨语言支持的,像JAVA,JavaScript,NodeJS,PHP等很多语言都可以使用JWT可以在自身存储一些其他业务逻辑所必要的非敏感信息便于传输,jwt的构成非常简单

2021-01-13 21:12:38 17401 9

原创 简单易懂而详细的讲解websocket及其简单应用

浅显而详细的讲解websocket及其简单应用目录1.什么是webSocket2.webSocket通信和http通信对比3.websocket相较于Http的优点4.何时需要webSocket5.如何建立websocket通信6.自制websocket模块简介7.webSocket的一些简单应用1. 什么是webSocket​ websocket是一种新的协议,它是为了在浏览器和服务器之间建立一个不受限制的双向通信通道而诞生的。不同于http的短链接应答机制和被动应答特征,

2020-12-10 21:35:27 1037

原创 通过源码理解thunk运行原理

1. 需要提前知道的知识​ 1)函数的柯里化(函数返回函数返回函数·····)其实是一个在连缀调用时不停收集变量和数据的过程,同时使用闭包将收集到的变量进行保存。这么做可以使函数由复杂的多入单出变成简单的单入单出的状态,同时也可以做到将参数进行复用和函数延迟执行的功能​ 2) redux的中间件的位置,位于数据传入redux后,redux执行反应变更(dispatch)之前,数据要穿过中间件才能真正进入并执行redux相关操作2.thunk源码function createThunkMiddlew.

2020-11-27 10:33:08 326

原创 史上最详细MongoDB多表/N表连接查询配置详解

MongoDB多表连接查询,Mongoose聚合查询// 依赖模块:mongoosenpm i -S mongoose简介一种对MongoDB进行使用多表连接查询的函数使用方式及字段介绍model.aggregate(<ConditionSetting>).then(<resolveFunction>).catch(<rejectFunction>)其中ConditionSetting为操作设置resolveFunction为执行成功回调函数,可设

2020-11-27 09:47:42 8276 1

空空如也

空空如也

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

TA关注的人

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