自定义博客皮肤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 552

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

WeakMap学习思考MapMap的问题在于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 402

转载 babel学习

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

2021-12-07 22:08:09 197

原创 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 659

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

整体思路就是得到每次循环的层数 并且和当前得到的最大层数做比较问题 如何不用外部变量获得最大深度 想减少一个函数入参,并且能把最大值直接返回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 541

原创 defer和async的区别

2021-11-19 11:32:15 459

原创 关于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 307

原创 手写 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 52

原创 手写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 42

空空如也

空空如也

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

TA关注的人

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