1.减少http请求
合并css,js,图片(雪碧图)
2.压缩文件
将html,css,js进行压缩
3.将css放在顶部,将js放在底部
因为浏览器加载js的时候,浏览器处于阻塞状态。如果放在头部,页面会等js下载完毕才开始渲染。有可能导致加载时候出现页面空白。
将js放在底部可优化渲染页面,减少空白时间。
4.开启缓存
设置http头信息:expires(1.0版本) cache-control(1.1版本)
5.图片懒加载
将img的图片路径设置到属性data-src中,当img到达可视区域时将data-src属性复制给src,然后图片显示
6.使用cdn
因为cdn具有众多服务器,用户可以请求距离他最近的服务器,加快速度
代码层面
1.少用全局变量
2.用innerHTML代替dom操作,缓存dom节点的查找结果,减少dom操作次数,优化js性能
dom操作会导致重排和重绘。
重排:页面结构发生变化
重绘:元素外观变化导致重新渲染
3.当设置很多相似样式时改变className而不是直接设置style
4.用变量存储ajax的查询结果,可减少请求次数
5.避免设置图片和iframe空的src。
因为src会重新加载页面,影响速度
6.避免使用css表达式
7.使用css3动画,可开启硬件加速,减少页面重绘
比如transfrom:translateZ(0)