前端宝典
前端性能优化
-
减少http请求
-
使用http2
-
使用服务端渲染
-
静态资源使用 CDN
-
将 CSS 放在文件头部,JavaScript 文件放在底部
-
使用字体图标 iconfont 代替图片图标
-
善用缓存,不重复加载相同的资源
-
压缩文件
-
图片优化(1. 图片延迟加载 2.响应式图片 3.调整图片大小 4. 降低图片质量 5.尽可能利用 CSS3 效果代替图片 6.使用 webp 格式的图片)
-
通过 webpack 按需加载代码,提取第三库代码,减少 ES6 转为 ES5 的冗余代码
-
减少重绘重排
-
使用事件委托
-
注意程序的局部性
-
if-else 对比 switch
-
查找表
-
避免页面卡顿
-
使用 requestAnimationFrame 来实现视觉变化
-
使用 Web Workers
-
CSS 选择器优先级
内联 > ID选择器 > 类选择器 > 标签选择器
- 合理使用规则,避免过度优化
性能优化主要分为两类:
1. 加载时优化
2. 运行时优化
上述 23 条建议中,属于加载时优化的是前面 10 条建议,属于运行时优化的是后面 13 条建议。通常来说,没有必要 23 条性能优化规则都用上,根据网站用户群体来做针对性的调整是最好的,节省精力,节省时间。
ES6/7/8
es6常用
- 类
- 模块化
- 箭头函数
- 函数参数默认值
- 模板字符串
- 结构赋值
- 延展操作符
- 对象属性简写
- Promise
- Let和Const
es7常用
- Array.prototype.includes();
- 指数操作符
es8特性
- async/await
- Object.values()
- Object.entries
- String Padding
- 函数参数列表结尾允许逗号
- Object.getOwnPropertyDescriptors()函数用来获取一个对象的所有自身属性的描述符,如果没有任何自身属性,则返回空对象。