一.页面级优化
1.css Sprites
雪碧图:减少http请求
2.使用CDN
使用第三方CDN,不需要你自己下载
3.压缩合并的代码
webpack gulp
4.使用DNS预解析
二.代码级别的
1.减少DOM操作
2.异步加载
默认:script开始解析,后面代码处于阻塞暂停状态
defer:script解析,后面代码也解析,都解析完了之后开始执行
asnyc:script解析,后面代码也开始解析,当script解析完了,后面代码先暂停解析,限制性script中的然后执行完在开始往下走。
3.事件代理
找到父级进行事件委托,不用进行循环,减少dom操作。
4.使用requestAnimationFrame来代替setTimeout和setInterval
关键帧。
定时器会出现卡顿,抖动,定时器时间不是确定的,是把它放到任务队列等待运行。会出现丢帧情况卡顿情况
浏览器刷新requestAnimationFrame就会刷新,始终保持和浏览器一样的刷新频率。
页面中所有东西都会同步刷新。
用法:
5.图片懒加载