自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mac 开机出现 2003f

Shift+control+option+电源键十秒以上。Option+command+r+电源键。

2024-10-30 11:16:17 3018

原创 Vue 权限管理

在登录请求中,会得到权限数据,当然,这个需要后端返回数据的支持,前端根据权限数据,展示对应的菜单,单击菜单,才能查看相关的界面。如果用户通过非常规操作,比如通过浏览器调试工具将某些禁用的的按钮变成启用状态此时发的请求,也应该被前端所拦截。在某个菜单的界面中,还得根据权限数据,展示出可进行操作的按钮,比如删除、修改、增加。如果用户已经登录,可是手动敲入非权限内的地址,就需要跳转到 404 界面。如果用户没有登录,手动在地址栏敲入管理界面的地址,则需要跳转到登录界面;

2024-10-29 18:13:05 488

原创 for 循环执行顺序

第五步 : 回到第二步,条件判断为真,则执行循环体内容,再到 i++ 一直循环,直到第二步的判断条件为假,则退出该循环。第二步 : i < 5 进行条件判断,如果为真,则继续执行。第一步 : let i = 0;第四步 : i++ 变量 i 自增。第三步 : 执行循环体的内容。

2024-10-28 17:13:15 563

原创 ES6 变量的解构赋值

字符串的解构赋值。

2024-10-27 19:02:35 397

原创 ES6 函数的扩展

参数变量是默认声明的,所以不能用 let 或 const 再次声明。ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。使用参数默认值时,函数不能有同名参数。

2024-10-27 17:33:57 283

原创 ES6 运算符的扩展

运算符常见形式,以及不使用该运算符时的等价形式。

2024-10-26 08:28:28 503

原创 Map数据结构分析

ES6 提供了 Map 数据结构。Map 也可以接受一个数组作为参数。该数组的成员是一个个表示键值对的数组。Map 结构的实例有以下属性和操作方法。

2024-10-25 08:01:08 234

原创 怎么理解ES6 Proxy

Proxy 可以理解成,在目标对象之前架设一层 “拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来 “代理” 某些操作,可以译为 “代理器”。上面代码中,handler 是一个空对象,没有任何拦截效果,访问 proxy 就等同于访问 target。如果 handler 没有设置任何拦截,那就等同于直接通向原对象。下边是一个简单版的响应式实现。

2024-10-24 18:32:37 261

原创 抽象语法树(AST)

编译阶段,编译器会经过 词法分析 将代码拆分成一个一个的单词,然后通过 语法分析 将单词转换为一个解析树。解析树里包含了所有语法信息,且能被编译器程序理解。在计算机科学中,抽象语法树 是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。

2024-10-23 11:18:10 225

原创 JS分时函数

一般的网页动画,需要达到每秒30帧到60帧的频率,才能比较流畅。如果能达到每秒70帧甚至80帧,就会极其流畅。大多数显示器的刷新频率是60Hz,为了与系统一致,以及节省电力,浏览器会自动按照这个频率,刷新动画(如果可以做到的话)。所以,如果网页动画能够做到每秒60帧,就会跟显示器同步刷新,达到最佳的视觉效果。这意味着,一秒之内进行60次重新渲染,每次重新渲染的时间不能超过16.67毫秒。有时候,我们可能会在短时间内向页面中添加大量的节点,这样会让浏览器吃不消,导致浏览器卡顿甚至假死。

2024-10-15 19:24:47 318

原创 代理服务器概念解析

在上图的代理服务器示例中,客户端想要访问juejin.com访问某些内容,它向代理服务器发送请求,代理服务器再将请求发送到juejin.com的服务器,然后将juejin.com的响应数据再返回给客户端。从本质上讲,代理服务器(又名转发代理)是一种软件或硬件,可以代表客户端促进从其他服务器请求资源,从而使客户端与服务器匿名。是位于客户端和服务器之间的软件或硬件服务器,客户端连接到代理以请求真实服务器的连接。转发代理可以通过代表客户端发送请求,在服务器隐藏客户端的身份。

2024-10-13 09:27:52 258

原创 不同域下的单点登录SSO

用户登录子系统时未登录,将自己的地址作为参数跳转到 SSO 登录界面,成功登录后,SSO 生成一个 ST (service ticket )。之前我们学习了同域下的单点登录SSO,今天与大家讲一讲不同域下的单点登录SSO。

2024-10-12 14:41:28 453

原创 vue组件中数据更新会发生什么

4、在 queueWatcher 函数中,判断 has map 是否有当前 watcher id,没有则将 watcher 存入 queue 队列,记录 watcher id 到 has map 中,调用 nextTick 方法;2、遍历 dep 对象中的 watcher 数组,执行 watcher 的 update 方法。9、在 watcher 的 get 中,调用 watcher 的 getter 属性方法。8、在 watcher 的 run 中,调用 watcher 的 get 方法。

2024-10-11 12:55:27 456

原创 Vue中的Observer类

通过调用链可以发现在 initData 开始,由 Observer 开始对 data 的每个 key 值进行 set、get 的拦截监听 (利用 Object.defineProperty),同时可以发现在 defineReactive 中对每个 key 值的拦截监听都会创建一个独立的 Dep 对象,在 get 的时候调用 dep.depend() 进行依赖收集,在 set 的时候调用 dep.notify() 进行派发更新(通知观察者更新视图),我们的数据就是被观察者。

2024-10-10 20:20:41 439

原创 JavaScript递归之深度优先

在前端工作当中,经常会遇到树组件、树形表格、机构树等功能,这个时候就需要对后端返回的数据进行处理,在对树形数据处理时,一般是需要用到递归来处理,而递归又分为了深度优先和广度优先。

2024-10-09 21:29:38 297 1

空空如也

空空如也

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

TA关注的人

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