Js面试题19-说一说前端性能一些常见的优化手段
创始人
2025-05-30 05:13:40
0

89db8fe9a11a669643e39a95b62d4274.png

01

1ea15fd4250f3282f16a1ca553bece53.png

减少请求数量

减少页面中请求的资源数量可以有效地降低页面加载时间,常用的方法包括文件合并、使用雪碧图(CSS精灵技术),使用Base64等技术对图片进行优化等。

文件合并可以将多个文件合并成一个文件,减少请求次数,但是需要注意文件合并也有自己的问题,如首屏渲染问题和缓存失效问题。

使用雪碧图可以将多张图片合并为一张,减少请求次数

02

e636ae001e5c3922061357199a8d1c75.png

减少资源大小

资源的大小对页面加载时间也有很大的影响,可以通过压缩图片、压缩代码等方式来减小资源的大小。压缩图片可以使用在线工具或者图片压缩库来实现,压缩代码可以使用压缩工具、

去除注释和空格等方式来实现,也可以使用适当的图片格式:对于相同的图片,不同的图片格式占用的体积是不同的。例如,对于简单的图标,可以使用SVG格式,对于照片等复杂的图片,可以使用JPEG或WEBP格式

03

f6cf7cb39145414f9d17c31d367c37dc.png

优化网络连接

网络连接的质量和速度对页面加载时间也有很大的影响,可以通过使用CDN、使用预加载等方式来优化网络连接。

CDN可以将资源分发到全球各地的服务器上,提高资源的访问速度;预加载可以在页面加载完成后,提前加载一些需要使用的资源,减少请求的等待时间

04

89f3c3b9818b79aa3e029cc205643b4f.png

优化资源加载

资源的加载方式也会影响页面的加载时间,可以通过异步加载、懒加载等方式来优化资源加载。

异步加载可以将一些不必要的资源延迟加载,提高页面的加载速度;懒加载可以将一些图片、视频等资源延迟加载,只在需要时再加载,减少页面的加载时间

05

e54357777b5e4eb7f9cb220fd029b7ed.png

减少重绘与回流

重绘和回流是浏览器渲染页面时的两个重要步骤,它们会影响页面的性能。

可以通过减少DOM操作、减少页面元素数量、精简HTML代码、减少DOM操作、避免多次重绘和回流、使用CSS3动画等方式来减少重绘回流,延迟加载等优化手段可以显著提高页面的加载速度。

06

5965c0ee540080392522be8ae4637b2c.png

使用性能更好的API

JavaScript提供了很多API,有些API的性能比较差,可以使用性能更好的API来替换。

例如使用document.querySelector代替document.getElementById

07

bcac98ebdec273b55625399123c30bb1.png

构建优化

构建性能主要指构建速度,可以通过使用构建工具、缓存构建结果等方式来优化构建性能

08

11092f6975f44fce4018e807c678698f.png

缓存

通过设置缓存控制头信息,使用浏览器缓存和HTTP缓存等技术可以减少网络带宽消耗,提高页面的响应速度和用户体验

09

93733895ba9f08129b25a79b28a6832b.png

使用cdn

使用CDN可以将静态资源分布在多个服务器上,更快速地响应用户的请求,并降低服务器的负载

10

09ac05bc0c040f72490573e6d542b175.png

web前端框架优化

选择一个性能高效且轻量级的Web前端框架,提高页面的加载速度和响应速度

11

be5bc5e711241d1c386cb3a9a0a5b663.png

服务器优化

在服务器端优化中使用缓存机制、优化数据库查询、压缩服务器响应等手段减少服务端的负载,提升应用性能

12

24430d53172f05b50e4909d7a27f717b.png

前置加载和懒加载

前置加载技术使用预加载等技术来提前加载下一个页面或用户可能需要的资源,以提高网站速度和性能。 

Lazy loading技术可以将页面上的图片或其他资源推迟到页面完全加载后再加载,以减少加载时间和带宽

13

296f81553a362d1553c4dfeddea2f9ea.png

优化CSS和JS

优化CSS和JS代码可以提高网站的性能。以下是一些优化技术的示例:

  • 压缩CSS和JS代码

  • 删除注释和无用代码

  • 合并重复的CSS和JS代码

  • 减小CSS和JS文件的大小

以上就是前端性能一些常见的优化手段,主要是通过大小和速度去优化,在前端面试的时候,基本上是一个面试必问的话题,在个人简历当中,如果比较熟悉,也可以写上去的

JS篇面试题16-Es6中的事件扩展符在什么场景下使用

2023-03-10

3f9e1d95485a621275798554a12b5296.jpeg

框架篇-面试题6-说一下Vue2与Vue3的钩子函数

2023-03-09

32ef4718e2c9e248b2882bf5fa03cb8c.jpeg

一文了解互联网中的运营

2023-03-03

7efdcc8e54714fc5e39bc47a716473a5.jpeg

从改简历到面试需要知道的

2023-03-02

32b685749b9b166670edc17c2ca56cf0.jpeg

入职前-求职者一定要提前了解的问题

2023-03-01

b1f43538d83ec0ab3c43d1700f6b2942.jpeg

被面试官问到频繁跳槽,求职者应该怎么回

2023-02-28

8be3a5d0e17ce8576419b29d5599dde8.jpeg

针对面试官的盘问-如何回答职场中的一些问题

2023-02-26

fc46dc2d41de1019ce263e1d30ef7de1.jpeg

一文了解互联网中的UI设计师

2023-02-25

8df1ddf7f5256d368b7e68f4758d3c37.jpeg
点击左下角查看更多

42271a41c87ab9b1ee66bc87df840d86.gif

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
JAVA多线程知识整理 Java多线程基础 线程的创建和启动 继承Thread类来创建并启动 自定义Thread类的子类&#...
【洛谷 P1090】[NOIP... [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G ...
国民技术LPUART介绍 低功耗通用异步接收器(LPUART) 简介 低功耗通用异步收发器...
城乡供水一体化平台-助力乡村振... 城乡供水一体化管理系统建设方案 城乡供水一体化管理系统是运用云计算、大数据等信息化手段࿰...
程序的循环结构和random库...   第三个参数就是步长     引入文件时记得指明字符格式,否则读入不了 ...
中国版ChatGPT在哪些方面... 目录 一、中国巨大的市场需求 二、中国企业加速创新 三、中国的人工智能发展 四、企业愿景的推进 五、...
报名开启 | 共赴一场 Flu... 2023 年 1 月 25 日,Flutter Forward 大会在肯尼亚首都内罗毕...
汇编00-MASM 和 Vis... Qt源码解析 索引 汇编逆向--- MASM 和 Visual Studio入门 前提知识ÿ...
【简陋Web应用3】实现人脸比... 文章目录🍉 前情提要🌷 效果演示🥝 实现过程1. u...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
windows安装JDK步骤 一、 下载JDK安装包 下载地址:https://www.oracle.com/jav...
分治法实现合并排序(归并排序)... 🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨...
在linux上安装配置node... 目录前言1,关于nodejs2,配置环境变量3,总结 前言...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
Linux内核进程管理并发同步... 并发同步并发 是指在某一时间段内能够处理多个任务的能力,而 并行 是指同一时间能够处理...
opencv学习-HOG LO... 目录1. HOG(Histogram of Oriented Gradients,方向梯度直方图)1...
EEG微状态的功能意义 导读大脑的瞬时全局功能状态反映在其电场结构上。聚类分析方法一致地提取了四种头表面脑电场结构ÿ...
【Unity 手写PBR】Bu... 写在前面 前期积累: GAMES101作业7提高-实现微表面模型你需要了解的知识 【技...