Skip to main content

Command Palette

Search for a command to run...

Series

Front-End

Frontend knowledge

  1. 谈谈浏览器的缓存

    缓存的作用 HTTP 缓存可以说是 HTTP 性能优化中简单高效的一种优化方式了,缓存是一种保存资源副本并在下次请求时直接使用该副本的技术,当 web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器重新下载。 一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,节省网络流量,并且由于缓存文件可以重复利用,降低网络负荷,提高客户端响应。 缓存的类型 强缓存 cache-control cache-control 是 HTTP1.1 新增的响应头,有以下的几...

    Jan 10, 20231 min read2
    谈谈浏览器的缓存
  2. EventLoop 微任务与宏任务

    什么是 EventLoop (事件轮询) 事件轮询就是解决 JavaScript 单线程处理异步操作时的一些缺陷。让 JavaScript 做到既是单线程,又不会阻塞的核心机制。是用来协调各种事件、用户交互、脚本执行、UI 渲染、网络请求等的一种机制。 宏任务和微任务优先问题 在任务队列中注册的两种异步任务分为 宏任务、微任务。可以认为任务队列中只有一个微任务队列,但是可以有多个宏任务队列 宏任务(macro Task) setTimeout / setInterval script(...

    Nov 12, 20222 min read39
    EventLoop 微任务与宏任务
  3. Reduce的用法与使用场景

    Reduce 是 Array 中内置的函数。相比于其他提供的函数,Reduce 的参数较多,是功能强大的一个方法,同时也在面试中常见的。 Reduce的功能很强大,可以模拟和替代 Array 别的函数,但是也不是必须使用 Reduce 还是得看具体情况。 概念 MDN官方给出的解释为 reduce() 方法对数组中的每个元素按序执行一个由您提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。 第一次执行回调函数时,不存在“...

    Nov 5, 20222 min read52
    Reduce的用法与使用场景
  4. 闭包及闭包在React中的问题

    🤺 闭包就是可以读取其他函数内部变量的函数 — 阮一峰博客 闭包常见的考题 输出的结果 for (var i = 0; i < 10; i++) { setTimeout(() => { console.log(i); }, 1000); } // 一秒后,输出了 10 个 10 出现这种原因就是用 var 声明的变量,没有块级作用域,所以限定不了 var 声明变量的访问范围 问:如果要输出 0 - 9 那该怎么改呢 1.简单方法:将 var 改成 let // 简单。常用...

    Oct 21, 20223 min read19
    闭包及闭包在React中的问题
Front-End