自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (2)
  • 收藏
  • 关注

原创 前端面经(面试准备+面试题)

2023前端面试,面试题 面经,跳槽

2023-03-18 17:40:17 3933 10

原创 JS的事件循环

1.浏览器的进程模型1.1 何为进程1.2 何为线程1.3 浏览器有哪些线程和进程2.渲染主线程是如何工作的任务队列的优先级面试题如何理解JS异步JS中的计时器能做到精确计时吗?为什么?

2023-02-22 14:58:30 797

原创 函数柯里化

1. 什么是函数柯里化?2. 应用2.1 参数复用2.2 提前确认3. 柯里化面试题

2023-02-03 14:08:15 547 2

原创 输入一个url后发生了什么 && js性能优化

从一道题开始:输入一个url后发生了什么?1.请求协议可聊点1:http协议相关=> 追问: http与TCP可聊点2: https协议相关=> 追问:http与https2.域名解析3.web服务器4.服务(2、3)涉及到 网络优化5.浏览器渲染6.脚本执行时 - JS可聊点:js的垃圾回收7.打包配置的优化

2023-01-19 16:29:43 1732

原创 前端性能优化与计算方式

1.Navigation Timing2.Core Web Vitals - CWV 网页性能三大指标2.1 Largest Contenful Paint(LCP)扩展:关于图片上传2.2 First Input Delay(FID)2.3 Cumulative Layout Shift(CLS)2.4 Core Web VItals Annotetions - 衡量CWV的工具3. performance - 性能评估神器*3.2 性能优化的另一种可能 - bigpipe —— 页面分解

2023-01-04 19:57:55 659

原创 浏览器Performance性能监控使用详解

1.Performance2.测试性能操作流程3.Performance检测结果详解区域1:controls【控制栏】区域2:overview【网页性能总览图】区域3:火焰图【各项指标的堆叠追踪可视化】区域4:统计汇总【以图表的形式汇总数据】4 其他监控性能小工具4.1 Performance monitor面板:页面性能的实时监控4.2 实时FPS面板:可以实时展示页面的FPS指标

2023-01-04 16:06:47 6291 1

原创 let const var 总结

1.var关键字1.1 没有块级作用域的概念,有全局作用域、函数作用域的概念1.2 存在变量提升1.3 全局作用域用var声明的变量会挂载到window对象上1.4 同一作用域中允许重复声明1.5 不初始化值默认为undefined2.let关键字2.1 有块级作用域的概念2.2 不存在变量提升2.3 同一作用域内不允许重复声明*2.4 暂时性死区(dead zone)3.const关键字3.1 创建后必须立即初始化,不能留到以后赋值*3.2 创建常量3.2.1 es5实现创建常

2022-11-27 12:42:27 606 1

原创 作用域和作用域链

1.作用域(Scope)1.1 什么是作用域1.2 全局作用域1.3 函数作用域1.3 块级作用域2. 作用域链2.1 自由变量2.2 作用域链2.3 *自由变量的取值2.4 作用域与执行上下文的区别3.总结

2022-11-26 18:27:34 7249

原创 this用法总结

1.常规下this的指向1.1 全局环境中的this1.2 上下文对象调用中的this1.3 this指向绑定事件的元素1.4 箭头函数的this指向2. 改变this指向2.1 call - Function.prototype.call( )2.2 apply - Function.prototype.apply( )2.4 手写call、bind、apply

2022-11-18 14:53:39 2921 4

原创 for in和for of

二者在什么情况下可以使用for ... in什么是可枚举的属性?for...of什么是可迭代的数据?总结

2022-10-28 21:16:08 664 1

原创 ES6中的set与map

1.set1.1创建set集合1.2 如何对set集合进行后续操作1.3 如何与数组进行相互转换1.4 如何遍历1.5set的应用2.map集合2.1 如何创建map2.2 如何进行后续操作2.3 如何与数组转换2.4 遍历

2022-10-28 00:00:27 4707 11

原创 useMemo与useCallback

1.useCallback2.useMemo3.对比

2022-10-18 22:16:01 324 1

原创 关于js的原型与继承

1.原型2.构造函数2.1 什么是对象?为什么面向对象?2.2 什么是构造函数2.3 构造函数的特点2.3 new做了什么?3.原型链4.prototype如何实现继承

2022-10-14 22:27:41 446

原创 http请求(上篇)

http - Hyper Text Transfer Protocol1.基础请求 = 请求标头(一段描述)+报文主体2.请求报头(Request Headers)1.Accept - 请求内容的期望格式类型2. Accepet-Encoding - 期望返回内容被压缩3.Accept-Language - 浏览器所支持的语言4.Connection - TCP信道的连接5.Cookie - 缓存形式6.Referer - 请求资源地址7.User-Agent - 用户侧信息8.Sec-

2022-09-08 22:07:44 207 2

原创 前端面试题

习题整理,实时更新将一个复杂的程序依据一定的规范封装成几个块(文件),并进行组合在一起每个块的内部的数据与实现是私有的,只是向外暴露一些接口(方法)与外部其他模块通信CommonJS 规范主要用于服务端编程,加载模块是同步的,并不适合在浏览器环境,因为同步意味着阻塞加载。浏览器资源是异步加载,因此有了AMD CMD解决方案AMD规范在浏览器环境中异步加载模块,并且可以异步加载多个模块。不过,AMD规范开发成本过高,代码的阅读和书写比较困难。......

2022-08-09 20:54:28 1003

原创 我对React原理的理解

1. VDOM(虚拟dom)2. Fiber架构1.初始化渲染2.更新时2.1 render阶段beginWorkcompleteWork2.2 commit阶段before mutation阶段(执行DOM操作前)mutation阶段(执行DOM操作)layout阶段(执行DOM操作后)

2022-07-26 20:55:39 605 7

原创 js模块化

js模块化一、背景二、模块化的发展1.幼年期: 无模块化2.成长期: IIFE(语法侧的优化)3.成熟期CJS-CommonjsAMD规范CMD规范ES6模块化 :走向新时代解决模块化的新思路:前端工程化

2022-06-25 12:45:19 1673

原创 关于javascript闭包

js 闭包

2022-06-15 23:11:29 249 1

原创 Promise.all()

promise.all()有一个请求reject,如何处理。promise.all的使用

2022-02-16 20:37:54 286

原创 PromiseA+规范

promise规范

2022-01-15 17:43:12 1373 2

原创 TS(上)

它是JS的一个超集,在原有的语法基础上,添加强类型并切换为基于类的面向对象语言。TS属于强类型语言,JS属于弱类型语言,强类型语言支持静态语言和动态语言,弱类型语言支持动态语言。TypeScriptJavaScript类型检测强类型语言,支持动态语言和静态语言弱类型语言,无静态类型选项面向项目面向解决大型的复杂项目、架构、代码维护复杂场景脚本语言, 脚本化语言,用于面向简单的页面场景自主检测可以在编译期间自主发现并纠正错误运行时,执行报错运行流程先被浏览器编译成js语言。

2024-01-15 10:11:04 917 2

原创 迭代与递归

开发中迭代与递归的对比

2023-04-13 10:06:56 1248 2

原创 React基础

1.1 react与vue1.1.1 相同点1.1.2 不同点1.1.4 函数式组件的特点(什么是函数式组件)a.幂等b.无副作用用:1.1.5 虚拟dom的作用1.1.6 vue当中template与render的关系:1.2 MVC、MVVM、MVP模式1.2.1 MVC1.2.2 MVVM1.2.3 MVP2.JSX2.1 预防XSS攻击2.2 JSX表示对象3.State和Props3.1 Props3.2 State3.2.1 只能通过setState赋值

2022-12-01 19:05:21 701 1

原创 seo优化

seo优化1.alt2.meta标签3.text-indent css优化4.HTML语义化什么是语义化什么是语义化标签常见语义化标签常见语义化标签2.seo优化1.alt2.meta标签3.text-indent css优化作用:4.HTML语义化

2022-11-18 15:02:01 284

原创 js中的事件循环

eventLoop事件循环

2022-11-07 17:48:53 310

原创 常见DOM操作

1.查1.节点的基本属性1.1 nodeType:返回当前节点的类型1.2 nodeName :节点名称 (li)1.3 nodeValue : 节点内容2.获取子节点2.1 父节点.children 只获取标签2.2 父节点.childrenNodes 会获取到标签/文本注释3.获取父节点3.1 子节点.parentNode 查询直接父节点3.2 获取定位父节点4.获取兄弟节点4.1 获取首节点 父节点.firstChild4.2 获取尾结点 父节点.lastChild 、父节点

2022-11-07 17:46:34 458

原创 前端手写笔试题

1.多维数组转为一维数组1.1 使用递归1.2 使用数组reduce方法1.3 使用join,split1.4 使用apply2 数组去重2.1 使用es6新增的set集合2.2 利用indexOf只能查到第一次出现的下标2.3 for循环+indexOf2.4 双层for循环3.手写类3.1 防抖3.2 节流3.3 不含有重复字符串的最长子串(蚂蚁)3.4 给定一个二维数组,转换为对象(达摩院)3.5 手写promise3.6 手写instanceof3.7 深拷贝3.

2022-10-29 18:12:43 394 1

原创 JS事件与事件委托

1.JS事件类型 - 三大类1.鼠标类型2.键盘类型事件3.HTMl类型2.事件的传播1.事件的传播模型:冒泡&捕获2.DOM的事件流 - 层级事件的传播上3.事件绑定 - DOM0级与DOM2级事件1.DOM0级事件2.DOM2级事件4.事件委托 / 代理

2022-10-26 22:50:00 500 2

原创 17. CSRF攻击(从入门到入狱)

CSRF 是跨站请求伪造,是一种挟制用户在当前已登录的Web应用上执行非本意的操作的攻击方法它首先引导用户访问一个危险网站,当用户访问网站后,网站会发送请求到被攻击的站点,这次请求会携带用户的cookie发送,因此就利用了用户的身份信息完成攻击防御 CSRF 攻击有多种手段:不使用cookie为表单添加校验的 token 校验cookie中使用sameSite字段服务器检查 referer 字段......

2022-08-11 22:37:17 219 6

原创 js垃圾回收机制

1.内存泄漏1.1 哪些操作会造成内存泄漏:1.1.1 意外的全局变量1.1.2 未清理的DOM元素引用1.1.3 被遗忘的定时器或者回调1.1.4 闭包1.1.5 console.log2.JavaScript中的垃圾回收2.1 标记清除2.2 引用计数

2022-08-01 23:19:07 311 9

原创 XSS攻击

前端计算机网络 XSS攻击,如何预防XSS

2022-07-29 11:34:30 135

原创 React高级用法

react 高阶组件 Hooks详解 usecallback usememo

2022-07-21 22:30:39 915

原创 React基础

react基础

2022-07-19 16:34:05 221 3

原创 6.关于jwt

回顾登录的流程:接下来的问题是:这个出入证(令牌)里面到底存啥?一种比较简单的办法就是直接存储用户信息的JSON串,这会造成下面的几个问题:JWT就是为了解决这些问题出现的。JWT全称,本质就是一个字符串它要解决的问题,就是在互联网环境中,提供统一的、安全的令牌格式因此,jwt只是一个令牌格式而已,你可以把它存储到cookie,也可以存储到localstorage,没有任何限制!同样的,对于传输,你可以使用任何传输方式来传输jwt,一般来说,我们会使用消息头来传输它比如,当登录成功后,服务器可以给客户端响应

2022-07-06 22:05:09 3976 1

原创 5.加密算法的分类

常见算法:DES、3DES、TDEA、Blowfish、RC5、IDEA优点:加密、解密速度快,适合对大数据量进行加密缺点:在网络中需要分发密钥,增加了密钥被窃取的风险常见算法:RSA、Rabin、DSA、ECC、Elgamal、D-H优点:安全(私钥仅被一方保存,不用于网络传输)缺点:仅能一方进行解密常见算法:MD4、MD5、SHA1优点:密文占用空间小(定长的短字符串);难以被破解缺点:无法解密对称加密,非对称加密,摘要的概念,请解释一下...

2022-07-06 21:32:44 415 1

原创 3.关于cookie

假设服务器有一个接口,通过请求这个接口,可以添加一个管理员但是,不是任何人都有权力做这种操作的那么服务器如何知道请求接口的人是有权力的呢?答案是:只有登录过的管理员才能做这种操作可问题是,客户端和服务器的传输使用的是http协议,http协议是无状态的,什么叫无状态,就是服务器不知道这一次请求的人,跟之前登录请求成功的人是不是同一个人由于http协议的无状态,服务器忘记了之前的所有请求,它无法确定这一次请求的客户端,就是之前登录成功的那个客户端。于是,服务器想了一个办法它按照下面的流程来认证客户端的身份服务

2022-07-05 21:47:40 883 1

原创 2.常见的请求方法

请求方法是请求行中的第一个单词,它向服务器描述了客户端发出请求的动作类型。在 HTTP 协议中,不同的请求方法只是包含了不同的语义,但服务器和浏览器的一些约定俗成的行为造成了它们具体的区别在实践中,客户端和服务器慢慢的形成了一个共识,约定俗成的规定了一些常见的请求方法:由于浏览器和服务器约定俗成的的规则,造成了GET和POST请求在web中的区别:1.浏览器在发送GET请求时,不会附带请求体2.GEt请求的传递信息量有限,适合传递少量数据;POST请求的传递信息量是没有限制的,适合传输大量数据。3

2022-07-04 22:40:51 869 1

原创 1.五层网络模型

从上到下分别为:应用层、传输层、网络层、数据链路层、物理层。在发送消息时,消息从上到下进行打包,每一层会在上一层基础上加包,而接受消息时,从下到上进行解包,最终得到原始信息。其...

2022-07-04 21:53:19 914

原创 this+闭包+作用域 面试题

报错:b is not defined报错: e is not defined隐式绑定1.this的指向是调用堆栈的上一级 => 对象、数组等引用关系逻辑面试题:在执行函数时,函数被上一级调用,上下文指向上一级or直接变成公共函数,指向window追问: 现在我要 console.log(‘o2fn’, o2.fn()); 的结果是o22.new - this指向的是new之后得到的实例追问: 类中异步方法,this有区别吗追问:call、apply、bind的区别原理或

2022-07-04 21:02:44 136

原创 作用域和作用域链

作用域 作用域链

2022-06-14 20:59:10 168

谷歌浏览器插件:Core Web VItals Annotetions - 衡量CWV的工具

谷歌浏览器插件压缩包免费下载: 前端性能优化网页性能监测神器:Core Web VItals Annotetions - 衡量CWV的工具 ,Largest Contenful Paint(LCP),First Input Delay(FID),Cumulative Layout Shift(CLS)

2022-12-30

react开发浏览器推荐插件

react开发浏览器推荐插件

2022-03-23

Grid简单入门布局.pptx

技术分享ppt

2022-02-25

空空如也

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

TA关注的人

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