排序算法

const swap = (arr,i,j) => [arr[i],arr[j]] = [arr[j],arr[i]]; 冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

CI/CD

什么是 CICDCICD(Continuous Integration and Continuous Deployment,持续集成和持续部署)是一种软件开发实践,旨在通过自动化软件构建、测试和部署过程,以便快速、频繁地将代码交付给生产环境。CICD 流程包括持续集成(Continuous Integration,CI)、持续交付(Continuous Delivery,CD)和持续部署(Continuous Deployment,CD)。

前端质量保障

Dom树怎么形成

当浏览器加载 HTML 文档时,它会执行一系列步骤来解析文档并构建 DOM 树。这个过程可以分为以下几个阶段:

http协议

怎么知道网站用的 http 协议版本?F12-> network ->右击 Tab,勾选 Protocal

虚拟列表

前端的虚拟列表(Virtual List)是一种优化大型数据列表性能的技术。当需要在网页或应用程序中展示大量数据时,传统的方式是一次性渲染所有数据,这可能导致页面加载缓慢和性能下降。虚拟列表通过只渲染用户可见区域内的数据项,以及动态地加载和卸载数据项,来解决这个问题 怎么做? 分页显示:虚拟列表将数据分页显示,只渲染用户当前可见区域内的数据项,而不是一次性渲染所有数据。

性能优化

图片与字体优化:提升渲染速度的细节实践

图片与字体优化:提升渲染速度的细节实践视觉资源往往是页面体积的大头。针对图片与字体进行系统优化,能显著提升 FCP 与 LCP 等关键体验指标。

前端工程化

js中精度丢失问题

JavaScript 精度丢失问题通常指的是浮点数精度丢失的情况,这是由于 JavaScript 中的浮点数采用 IEEE 754 标准表示,而该标准无法准确表示一些十进制小数。这可能导致在进行浮点数运算时出现意外的结果或精度损失。 0.1 + 0.2 // 返回0.30000000000000004

闭包

闭包是指函数与其词法环境的组合,函数可以访问其词法作用域中的变量,即使在函数定义之后执行也可以访问到。闭包可以在函数内部创建私有变量,并且可以通过返回函数或传递函数作为参数的方式,将这些私有变量暴露给外部作用域。闭包是 JavaScript 中非常强大和常用的特性,它能够帮助开发者实现许多功能,例如模块化、封装、延迟执行等。

CSS纵享丝滑滚动

我们之前利用 a 标签的锚点功能,能让页面滚动到指定位置,但是存在顿挫感,使用scroll-behavior: smooth;可以让滚动变得丝滑。

深拷贝

手写深拷贝

1456789