前端优化

前言:前端有很多优化的手段,虽然我都没用过,但是面试真的很爱问,而且以后肯定会用的上,假如我还从事这个行业的话,今天我就来总结一下吧。

前端性能优化

首先祭出一张图
在这里插入图片描述

1、减少HTTP请求次数和资源大小

(1)尽量压缩css和js文件

尽量将css和js文件合并、压缩,减少请求次数和资源的大小,采用打包工具并合理使用压缩插件等

(2)采用图片懒加载

图片懒加载技术可以减少页面第一次加载过程中请求资源的次数

具体步骤:
    1、页面开始加载时不去发送http请求,而是放置一张占位图
    2、当页面加载完时,并且图片在可视区域再去请求加载图片信息

(3)使用精灵图技术

将所有图片相对较小的资源绘制在一张大图上,只需要将大图下载下来然后利用图片定位来将小图展现出来

(4)使用缓存

合理使用缓存,可以减少http请求次数,通过配置expires等字段。

2、使用内容发布网络CDN

CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络"边缘"的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。
过程如下:
1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求;

2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,请求指向了CDN网络中的智能DNS负载均衡系统;

3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户;

4.用户向该IP节点(CDN服务器)发出请求;

5.由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容;

6.请求结果发给用户

3、减少DNS查找

通常浏览器查找一个给定域名的IP地址要花费20~120毫秒,在完成域名解析之前,浏览器不能从服务器加载到任何东西。
一般采用DNS Prefetch 一种DNS 预解析技术,当你浏览网页时,浏览器会在加载网页时对网页中的域名进行解析缓存,这样在你单击当前网页中的连接时就无需进行DNS的解析,减少用户等待时间,提高用户体验

4、代码优化

(1)将样式表放在头部,将脚本放在底部

将样式表放在头部对于实际页面加载的时间并不能造成太大影响,但是这会减少页面首屏出现的时间,使页面内容逐步呈现,改善用户体验。将样式表放在文档底部会阻止浏览器中的内容逐步出现。
跟样式表相同,脚本放在底部对于实际页面加载的时间并不能造成太大影响,但是这会减少页面首屏出现的时间,使页面内容逐步呈现。
js的下载和执行会阻塞Dom树的构建(严谨地说是中断了Dom树的更新),所以script标签放在首屏范围内的HTML代码段里会截断首屏的内容

(2)减少闭包的使用

原因:使用闭包后,闭包所在的上下文不会被释放

(3)引入css时,减少import导入

css导入的时候尽量减少@import导入式,因为@import是同步操作,只有把对应的样式导入后,才会继续向下加载,而link是异步的操作

(4)使用事件委托(代理)

参考文献

https://blog.csdn.net/qq_38045106/article/details/84782401
https://www.cnblogs.com/lanxiansen/p/10972802.html
https://www.jianshu.com/p/2e69e9891c67
https://blog.csdn.net/hemeinvyiqiluoben/article/details/81026728
https://blog.csdn.net/5hongbing/article/details/78025349

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值