JS系列
文章平均质量分 81
小柒很爱喵
十年后的博客专家
展开
-
前端面经问答汇总(BAT等大厂面试总结)
vue面试题之二:路由 vue-router 面试题 - 掘金浅谈前端路由原理hash和history - 掘金 (juejin.cn)做了一份前端面试复习计划,保熟~ - 掘金 (juejin.cn)// 再复习一遍基础知识、博客3-4篇// 算法练习每日2道// 再有时间、学一下node、react、48、 TypeScript 中对象展开会有什么副作用吗?原创 2022-03-24 23:16:34 · 513 阅读 · 0 评论 -
视频场景的页面性能优化
目录1. 页面性能1.1. 指标确定1.2 优化方向:2. 优化方案2.1. 通用场景优化方案2.1.1.主包大小裁剪2.1.2.分包策略调整2.1.3.核心接口请求提前2.2. 视频场景优化方案2.2.1.视频首帧分片的请求策略2.3.直出化页面,提升首屏体验2.3.1 页面直出方案2.3.1 减少页面重排2.3.2 缓存2.4视觉感官细节优化内容2.4.1延迟非首屏组件渲染2.4.2header 占位优化1....原创 2022-02-08 16:46:23 · 1312 阅读 · 0 评论 -
【JS系列】手撕Promise
1.0什么是Promise?2.0 如何实现一个Promise2.1 初步实现promisePromise的特点:有三种状态,默认是pending,成功为fulfilled,失败为rejected 创建时必须传递一个函数,不然会报错 传递函数中参数是两个回调函数,resolve和reject 状态一旦发生改变就不会发生变化 class MyPromise{ //有一个构造器 constructor(fn) { //这个构原创 2021-04-06 19:27:02 · 261 阅读 · 1 评论 -
经典JS算法
例题1:数组去重输入:[1,2,2,,6,,10,9,1,3,]输出:[1,2,6,10,9,1,3]条件:去掉空、保持输入顺序function dedupe(arr){ let setArr = new Set(); let res = []; for(let k in arr){ //元素不为空、并且没有在setArr出现过 if( arr[k] != null && !setArr.has(arr[k])){原创 2021-04-06 11:20:15 · 341 阅读 · 0 评论 -
【网络安全】深入探究CSRF攻击与防范
目录1.0 什么是CSRF攻击?2.0 CSRF攻击过程3.0 CSRF防范策略3.1 验证HTTP请求头中指定字段3.2 添加校验Token4.0 小结导图1.0 什么是CSRF攻击? CSRF攻击的全称是跨站请求伪造( cross site request forgery),是一种对网站的恶意利用,尽管听起来跟XSS跨站脚本攻击有点相似,但事实上CSRF与XSS差别很大,XSS利用的是站点内的信任用户,而CSRF则是通过伪装来自受信任用户的请求来利用受...原创 2021-04-04 16:51:39 · 754 阅读 · 0 评论 -
【网络安全】深入探究XSS攻击与防范
1.0 什么是XSS攻击? Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID 等,进而危害数据安全。1.1 XSS攻击的形式在 HTML 中内嵌的文本中,恶意内容以 script 标签形成注入。 在内联的 JavaScript 中,拼接的数据突破了原本的限制(字符串,变量,方法名等)。 在标签...转载 2021-04-04 15:15:16 · 907 阅读 · 0 评论 -
【JS系列】深入探究const
目录0.背景 :const真的不能改变吗?1. const关键字概述2. const的本质3. 探究const的内部逻辑0.背景 :const真的不能改变吗? 今天面试腾讯的时候,面试管问我var ,let ,const 的不同的时候,我把自己准备的东西一股脑说了一通,然而,面试管进一步问,const是真的不能被改变吗?它什么不可以改,什么可以改?原理是什么。这一问我呆住了。原来const还有许多知识点我没有掌握好。1. const关键字概述来一段菜鸟教程...原创 2021-03-24 16:45:31 · 976 阅读 · 0 评论 -
【JS系列】深入探究事件循环机制Event loop
0. 背景 目录0. 背景 JavaScript单线程本质1. 函数调用栈与任务队列2. 从setTimeout看事件循环机制3. 任务队列类型JavaScript单线程本质JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是...原创 2021-03-24 15:27:09 · 178 阅读 · 0 评论