前端常见的性能优化

前端常见的性能优化

1.减少HTTP请求次数和请求的大小

  • 雪碧图(图片精灵)
  • 图片base64 (webpack中可以配置)
  • 尽量使用字体图标或者SVG等矢量图
    • 减少HTTP请求次数或者减少请求内容的大小
    • 渲染更快:因为它们是基于代码渲染的,而对于位图(png/jpg/gif)是需要先把图片编码再渲染
    • 不容易失真变形
  • 图片懒加载(延迟加载)
  • 音频取消预加载
    • preload = ‘ none‘ 这样可以增加第一次渲染页面的速度,当需要播放的时候在加载
  • 再客户端和服务器进行信息交互的时候,对于多项数据我们尽可能基于json格式来进行传送(XML格式要比JSON格式要大)
  • 用WebSocket代替ajax轮询实现消息推送
  • 把页面中的css/js/图片等文件进行合并压缩
    • 争取css和js都只能导入一个(webpack可以实现自动合并压缩)
    • 对于图片自己找工具先压
    • 还可以使用服务器的gzip压缩

2.建立缓存机制

  • DNS缓存
  • 把不经常更改的静态资源做数据缓存(一般做的是304或者ETAG等协商缓存)
  • 强缓存和协商缓存(304)
  • 离线存储(manifest)
  • 有钱就做CDN (地域分布式服务器),还有一个财大粗气的方式:加服务器
  • 建立TCP长连接
  • ....

3.代码上的优化

  • 减少DOM的重绘与回流
  • 再js中减少闭包的使用
    • 1.栈溢出:死递归
      function func(){
          func()
      }
      func()  //不断自己执行自己
      解决方法:
      function func(){
         setTimeout(func,0);
      }
      func()//利用了异步操作的特性
      
      2.相互引用:引用类型之间的相互调用,形成嵌套式内存
      let obj1={
          name:'obj2'
      }
      let obj ={
          name:'obj2',
          x:obj1
      }
      obj1.x = obj2
  • 避免使用iframe(因为iframe会嵌入其他页面,这样父页面渲染的时候,还要同时把子页面也渲染了,渲染进度也会变慢)
  • 低耦合高内聚(基于封装的方式,减少页面中的冗余代码,提高代码使用效率)
  • 尽可能使用事件委托
  • 函数的防抖与节流

原文地址:https://www.cnblogs.com/JCDXH/p/12326552.html

时间: 2024-11-07 18:17:21

前端常见的性能优化的相关文章

stb前端开发js性能优化总结

js性能优化 javascript是一种解释型语言,性能无法达到和C.C++等编译语言的水平,但还是有一些方法来改进. 1.循环 JavaScript中的循环方式有for(;;).while().for(in)3种.其中for(in)的效率极差,因为for(in)执行过程中需要查询散列键.for(;;)和while()比较,while循环的效率要优于for(;;). 2.局部变量和全局变量 局部变量的访问速度更快,因为全局变量其实是全局对象的成员,而局部变量是放在函数的堆栈当中的. 3.不使用e

前端工程与性能优化

每个参与过开发企业级 web 应用的前端工程师或许都曾思考过前端性能优化方面的问题.我们有雅虎 14 条性能优化原则,还有两本很经典的性能优化指导书:<高性能网站建设指南>.<高性能网站建设进阶指南>.经验丰富的工程师对于前端性能优化方法耳濡目染,基本都能一一列举出来.这些性能优化原则大概是在 7 年前提出的,对于 web 性能优化至今都有非常重要的指导意义. 然而,对于构建大型 web 应用的团队来说,要坚持贯彻这些优化原则并不是一件十分容易的事.因为优化原则中很多要求与工程管理

web前端9大性能优化方案汇总

网页的性能问题是产品开发过程中的一个重要的环节,在产品成功地把功能实现后,性能能好与坏就直接影响了用户体验,以至于影响了产品的成败! 作为web前端开发者,对前端部分进行性能上的优化,是责无旁贷,刻不容缓的工作.下面简介一下9种性能优化方案. 一.罪魁祸首是http请求 一般网页,80%的响应时间花在下载网页内容(images, stylesheets, javascripts, scripts, flash等).减少请求次数是缩短响应时间的关键!可以通过简化页面设计来减少请求次数,但页面内容较

前端project与性能优化(长文)

原文链接:http://fex.baidu.com/blog/2014/03/fis-optimize/ 每一个參与过开发企业级 web 应用的前端project师也许都曾思考过前端性能优化方面的问题.我们有雅虎 14 条性能优化原则.还有两本非常经典的性能优化指导书:<高性能站点建设指南>.<高性能站点建设指南>.经验丰富的project师对于前端性能优化方法耳濡目染.基本都能一一列举出来.这些性能优化原则大概是在 7 年前提出的.对于 web 性能优化至今都有很重要的指导意义.

全方位分析web前端如何进行性能优化

前言: 最近刚刚完成项目,空闲一段时间,想起之前有被问起怎么对前端进行性能优化,自己也是脑中零零散散的总不成体系,现特来总结,欢迎补充指教. 1.整体资源 (1)js.css源码压缩 (2)css文件放到文档顶部,js 文件放到文档底部 因为浏览器渲染网页是自上而下的,用户第一眼见到的是页面,先加载页面相关的提高页面加载速度,另外避免js在页面没有完全加载完成操作DOM带来错误 (3)进行CDN托管(具体可参看https://div.io/topic/930) (4)data缓存 2.css (

前端知识总结--性能优化

前端性能优化方案大体分为网络传输优化和页面内容优化, 网络方面 1.减少http请求 合并js文件 合并css文件 雪碧图的使用(css sprite) 使用base64表示简单的图片 2.减小资源体积 gzip压缩 js混淆 css压缩 图片压缩 3.使用缓存 DNS缓存 CDN部署与缓存 http缓存 页面方面 1.优化网页渲染 css的文件放在头部,js文件放在尾部或者异步 尽量避免內联样式 2.DOM操作优化 避免在document上直接进行频繁的DOM操作 使用classname代替大

前端积累-----网页性能优化

写在前面:文章转自网络 英文原版链接 ,若是觉得本文哪里不好还请指出,以便及时修改 目录(分7类,共35条): [内容]尽量减少HTTP请求数 [服务器]使用CDN(Content Delivery Network) [服务器]添上Expires或者Cache-Control HTTP头 [服务器]Gzip组件 [css]把样式表放在顶部 [js]把脚本放在底部 [css]避免使用CSS表达式 [js, css]把JavaScript和CSS放到外面 [内容]减少DNS查找 [js, css]压

前端日常工作性能优化条例

在当前,网页上越来越重视用户体验,其中一个重要的前提就是访问速度.前端是庞大的,包括 HTML. CSS. Javascript.Image .等等各种各样的资源.前端优化是复杂的,针对方方面面的资源都有不同的方式.至少80%的最终用户响应时间花在了页面中的组件(图片.脚本.样式表). 页面方面优化 一.      减少HTTP请求 改善响应时间的最简单途径就是减少组件的数量,并由此减少HTTP请求的数量. 1 :CSS Sprites将多个图片文件合并成一个图片,利用css 的backgrou

前端页面的性能优化

减少HTTP请求 文件合并 合并css或js文件使要下载的文件数减少 css sprites 使用图片精灵将大量的背景图片整合到一张图片,然后用background-image和background-position控制背景图片的位置定位到要显示的图片,适用于数量多,体积小的图表等图片. 行内图片(base64格式) 将图片转化为base64格式直接嵌入html内部 服务端设计配置 跨域分离组件 分离组件可以最大化并行下载,但要确保只用不超过2-4个域,因为存在DNS查找的代价.例如,可以把HT