性能优化的一些思路

(1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器。
(2) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数
(3) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。
(4) 当需要设置的样式很多时设置className而不是直接操作style。
(5) 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。
(6) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。
(7) 图片预加载,将样式表放在顶部,将脚本放在底部,加上时间戳。
(8) 避免在页面的主体布局中使用table和iframe,他们要等其中的内容完全下载之后才会显示出来,显示比div+css布局慢,且不符合语义,不利于SEO优化。 此外iframe还会阻塞页面的onload,因此最好事后用js操作其src。

关于js延迟加载

  • defer="defer":会在其他代码加载后才加载。属性只能是defer,与属性名相同。
  • async="true/false":该属性为html5中新增的属性,它的作用是能够异步地下载和执行脚本,不因为加载脚本而阻塞页面的加载。一旦下载完毕就会立刻执行。
  • 动态创建DOM方式(用得最多)
  • 按需异步载入js
  • 直接放最后

解决图片加载慢的问题

  • 压缩图片质量或调整大小到所需大小
  • 雪碧图
  • 图片预加载
  • cdn加速
  • 切割图片
  • 采用lazyload(懒加载),例如最新的lazysizes.js非常好用
  • 使用default图

你可能感兴趣的:(性能优化的一些思路)