- 避免内联和嵌入代码,尽量引入外部文件
- 样式在上,脚本在下,样式在head内
- 上线前通过自动化工具压缩样式表,或适应预处理器,如less,sass,stylus
- 尽量合并多个CSS文件,因为浏览器的并行下载速度有限
<script async src="example.js"></script>
使用async异步加载页面内容,如使用多个属性,并无固定顺序- 第三方插件应该异步加载
script.async = true;
- 循环中缓存数组长度
for (i = 0, len = arr.length; i < len; i++) {}
- 最小化重绘和回流
- 避免不必要的DOM操作,当一个元素出现多次应保存在变量中
- 原生Javascript中的函数执行总是要比jQuery快一些,使用Javascript的
for
循环,不要使用jQuery.each
方法 - 尽量不要使用jQuery,多使用原生方法
- data-URI 使用数据图片(base64),雪碧图等, 可使用构建工具得到
- 在
img
标签中设置width
和height
属性可以防止渲染过程中的重绘和回流 - 使用无损压缩图片,使用渐进式jpeg图片