前端学习之---性能优化

 今天学习到了性能优化这一块,写个随笔记录一下学习的心得。

众所周知,基本每个项目都需要经过性能优化这一步,所谓性能优化,通俗的理解就是让网页加载迅速,能及时响应用户的各种操作,用户体验友好。

性能的优化,这要从以下三个方面优化:

一、页面级优化

1、减少http请求

  http请求次数的减少,能大大的减少响应的时间。减少http请求可以从一下几个方面着手:合并js,css文件并且把css文件放在,head内,js文件放在最后。使用css sprites。

2、静态资源缓存

有时候很多资源都没有改变,当我们每次加载页面时都去请求下载这些资源的话很浪费时间,所以对于一些不变的静态资源,可以设置较长的缓存时间,每次我们加载页面时可以直接从缓存中读取而不需要再次下载,这样能节约很多时间和带宽。

3、异步执行内部脚本

内部脚本会和外部脚本一样阻塞浏览器的渲染,所以当有大量内部脚本时页面会有出现空白,为了避免这种情况发生,异步执行内部脚本,使得在执行内部脚本的同时也能渲染页面。

4、懒加载

在js很多库中,有时候我们只用到一个库中的某些技术,这时就可以使用懒加载技术,用到什么加载什么,不浪费资源,减少加载时间。

5、避免不必要的http跳转

6、减少cookie的发送

每次的请求和相应都会包含cookie,大量的cookie会减慢数据的传输,所以需要考虑那些资源需要填入cookie,像静态资源,没有必要添加cookie

7、尽量避免使用iframe

iframe会组织页面的加载。

二、服务器端优化

1、使用CDN

像一些大型的网站,基本都有自己的CDN。对于静态资源,最好上传到最近的CDN,这样访问时下载的速度会提高很多。

2、添加expires和cache-control

像修改频率较低的资源,可以设置较长的过期时间,这样每次请求的时候可以从缓存中读取,减小带宽流量,降低浏览器的压力。

3、gzip压缩文件

gzip压缩可以时美容大小减少70%,大大减少带宽流量。

4、配置etags

配置etags可以使服务器判断一个文件是否改变了,从而避免下载没有修改的文件

三、编码优化

1、DOM

在dom操作中,需要注意的是,像HTML collection等操作,最后用局部变量过滤一下,不然像每次使用document.forms操作时,都会全局查找一次,这样会当dom没有发生改变时,会大大的浪费时间。

2、避免全局查找

当需要多次查找一个全局变量时,最好用局部变量过渡一下,减小查找的范围和查找的时间。

3、避免使用eval和Function(速度很慢)

4、尽量减少循环的次数

原文地址:https://www.cnblogs.com/qiaoyun/p/7504530.html