自定义博客皮肤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)
  • 收藏
  • 关注

原创 单点登录,统一登录平台的食堂打饭模型

1.小明(浏览器)去食堂找阿姨(应用系统aaa后端) 打饭 【访问aaa网页】 2.阿姨说你先去服务台(cas) 买饭票(ticket) 【重定向到cas服务,统一登陆平台,输入用户名密码登陆】 3.服务台获取到用户名密码后,打电话问学校管理处(集团的cas) 是不是有这个人【login Auth如有返回casSsoCookie】, 如果有让学校管理处把这个人的信息传过来【带着casSsoCookie请求getUserInfo】 4.服务台拿到了信息之后便 4.1给小明把这次跟集团cas的会话记录了下来 【

2021-12-26 11:24:28 567

原创 WeakMap学习思考- Map、WeakMap、强引用 、弱引用和垃圾回收

WeakMap学习思考 Map Map的问题在于 A map API could be implemented in JavaScript with two arrays (one for keys, one for values) shared by the four API methods. Setting elements on this map would involve pushing a key and value onto the end of each of those arrays sim

2021-12-25 12:57:28 431

转载 babel学习

一口(很长的)气了解 babel - 知乎 babel 总共分为三个阶段:解析,转换,生成。 插件总共分为两种: 当我们添加语法插件之后,在解析这一步就使得 babel 能够解析更多的语法。 当我们添加转译插件之后,在转换这一步把源码转换并输出。这也是我们使用 babel 最本质的需求。 比起语法插件,转译插件其实更好理解,比如箭头函数(a) => a就会转化为function (a) {return a}。完成这个工作的插件叫做babel-plugin-transform...

2021-12-07 22:08:09 211

原创 js 扁平化嵌套数组

不使用额外的入参 递归函数返回扁平化后的数组 var arr1 = [ 22, [33, 44], [55, 66], [[77, 88, [99, 100, [101], 102]]], 103, [104, 105], 106, 107 ] function flat (data, flatArray = []) { let flatAll = flatArray for (let i = 0; i < data.length; i++) { .

2021-12-05 12:17:57 686

原创 求数组嵌套的最大深度

整体思路就是得到每次循环的层数 并且和当前得到的最大层数做比较 问题 如何不用外部变量获得最大深度 想减少一个函数入参,并且能把最大值直接返回 var arr1 = [ 22, [33, 44], [55, 66], [[77, 88, [99, 100, [101], 102]]], 103, [104, 105], 106, 107 ] var arr2 = [1, [2, 4], 3] function multiarr (arr, level = 0) {

2021-12-02 10:36:56 577

原创 defer和async的区别

2021-11-19 11:32:15 473

原创 关于bfc

<!DOCTYPE html> <div class="father"> <div class="son"></div> <div class="son1"></div> </div> <style> .father{ width: 200px; height: 200px; background-color: #f00; } .son{ width:.

2021-11-18 14:12:06 322

原创 手写 promise

class Commitment { static PENDING = '待定' static FULFILLED = '成功' static REJECTED = '失败' constructor (func) { this.status = Commitment.PENDING this.result = null this.resolveCallbacks = [] this.rejectCallbacks = [] //处理直接抛出错误 t.

2021-11-07 14:59:59 66

原创 手写bind, call, apply

隐式绑定 当函数作为引用属性被添加到对象中,隐式绑定规则会把函数调用中的this绑定到这个上下文对象 显示绑定 运用apply call 方法,在调用函数时候绑定this,也就是指定调用的函数的this值 const module = { x: 42, getX: function() { return this.x; } }; const unboundGetX = module.getX; console.log(unboundGetX()); // The func..

2021-11-05 12:00:57 57

空空如也

空空如也

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

TA关注的人

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