HTML
- 采用语义化标签
- 样式,行为,内容分离,样式在head标签内引入,JS在前引入
- 避免使用iframe
CSS
- 避免使用@import,!important
- 优化CSS reset
- css尽量使用扁平及,尽量不要使用过于具体的css选择器,不要采用内联样式
- 避免使用css表达式
- 提取公共css
- 减少回流和重绘
JS
- 使用setTimeout代替setInterval,一定要清除定时器
- 没有兼容问题,可以使用原生方法
- 避免操作DOM,使用innerHTML
- 避免使用全局便令,防止造成变量污染
- 使用switch代替多重if
- 使用防抖和节流减少函数的高频调用
- 使用事件代理防止多次绑定事件
- 操作大量DOM时,采用framegment
网络优化
- 每个网站最多允许同时6个请求,尽量将CSS,JS文件使用个数最少
- 静态资源采用CDN引入
- 预加载及按需加载(图片懒加载)
- 预渲染(SSR)
- 压缩图片,CSS,JS,HTML文件
- 小图采用base64(可以减少HTTP请求,但是编码需要时间,体积大)
- 开启网络压缩(GZIP)
- 使用缓存
- 减少重定向,使用.nginx反向代理
大概想起这些~