近几年来前端行业发展迅速,需要学习的知识也越来越多,有些人套用了现在一个很火的词,叫前端行业“内卷”,怎么听起来前端是没有前途的,有些有志于做前端的同学就因此犹豫不决。但是事实真的如此吗?

web

怎样在前端优化网站性能?
减少了HTTP请求的数量。

当浏览器与服务器通讯时,通讯主要通过HTTP进行。在浏览器和服务器之间进行三次握手,每次握手都要花费很多时间。同时,不同浏览器对资源文件的并发请求数目(不同浏览器允许的)也是有限的,一旦HTTP请求数目达到一定数量,资源请求就会出现等待状态,这是致命的,因此减少HTTP请求数目可以在很大程度上优化网站性能。

CSSSprites

在国内,人们通常称之为CSS精灵,这是一个解决方案,通过将多个图片合并到一个图片中,从而达到减少HTTP请求的目的,可以通过CSS的background属性访问图片内容。该方案还可以同时减少图片的总字节数。

整合CSS和JS文件

目前有许多工程打包工具在前端,例如:grunt,gulp,webpack,等等。要减少HTTP请求的数量,在再次发布之前,可以通过这些工具将多个CSS或多个JS合并到一个文件中。

使用lazyLoad

所谓懒得加载,就是可以控制网页上的内容一开始不加载,不需要发送请求,等到用户操作真正需要时再加载出来。这将控制页面资源一次性的请求数。

控制资源档案载入优先顺序

当浏览器加载HTML内容时,HTML内容由上而下依次被解析,而当解析到link或script标签时,href或src的对应链接内容就会被加载,为了让页面在第一时间显示给用户,需要提前加载CSS,而不能被JS加载。

通常CSS位于顶部,JS位于底部。

使用浏览器缓存的好处。

BrowseCache是在本地存储网络资源,等待下一次请求时,如果该资源已经存在,则无需到服务器重新请求它,直接在本地读取。

减少重排(报告)

根本原因:重排是DOM的变化影响元素的几何属性(宽和高),浏览器会重新计算元素的几何属性,使受影响的部分在渲染树中失效,浏览器会验证DOM树中所有其他节点的visibility属性,这就是Reflow效率低下的原因。若Reflow太频繁,那么CPU的使用将急剧增加。

减小Reflow,如果需要添加DOM操作时的样式,可以使用增加class属性来代替style操作样式。

减少DOM操作次数。

图标被IconFont所取代

前端面试资料免费领取

web前端面试:不做面试“海王”,一份资料就可成功上岸!相关推荐

  1. web前端工程师是做什么的_我作为前端Web工程师的角色解释了什么?

    web前端工程师是做什么的 by Shaun Michael Stone 肖恩·迈克尔·斯通(Shaun Michael Stone) 我作为前端Web工程师的角色解释了什么? (My role as ...

  2. Web前端开发主要做什么

    Web前端开发主要做什么?朗沃小刘小编今天来谈谈web前端开发主要做什么?web前端工程师,做的工作与网站前/后台系统的页面相关,使用到的主要技术包括:HTML.CSS.JavaScript.现代we ...

  3. web前端开发主要做什么?应该学些什么?

    web前端开发主要做什么?当我们要生产一款APP,UI设计是展现在我们眼前的界面.图标.交互等内容,而它的各项功能的实现是后端工程师的代码开发,可是这两个部分没有在开发的时候办法直接对应,此时web前 ...

  4. 入行web前端开发可以做什么工作

    迷茫和烦恼几乎是人人都有,作为一名初级程序员来说,可能是因为工资低.家庭无背景.发展前景有限等等的现实原因影响了心态.特别是在找工作四处碰壁后,可能会发出行业饱和这样的感慨,再加上最近中美贸易摩擦下, ...

  5. 好程序员web前端培训分享做H5页面需要学什么

    好程序员web前端培训分享做H5页面需要学什么,很多人问过我这个问题,而问这个问题的人基本上都是刚听说过h5,处在懵懂的阶段,他们往往会被一些网上炫酷页面所吸引,开始的目的也很简单,能通过自己的努力做 ...

  6. 蛋花花讲解web前端助理需要做什么工作

    蛋花花讲解web前端助理需要做什么工作 !互联网发展到今天,蛋花花感觉它进步的越来越快,就比如与我们日常生活相关的web前端就是其中之一,不仅发展到了现在的就业不需要发愁,有些还可以带一些助理了.那么 ...

  7. 百度「Web 前端研发部」面试过程和常见问题 可能会采用哪些方法来面试 STAR 面试法 喜欢什么样的面试者 喜欢问的问题...

    http://segmentfault.com/a/1190000002498800 在他们的github上看到的,收藏一下备用.看完觉得还有很多要努力的地方. FEX 的面试过程 我们一般会有 3 ...

  8. Web前端开发是做什么的?学Web前端有前途吗?

    尚学堂导读 某学员: "前几年前端开发人员鱼目混杂,技术参差不齐,相对学习起来不规范,导致前端开发人员聚集,所以现在前端工种和工资还是没得到普遍重视,但近2年来,HTML5.JS 的流行,让 ...

  9. web前端进阶之路;web前端不能只做普通程序员;web前端应该向前端架构师前进

    有人说产品开发过程中web前端没有结论,只有随需求不停的修改,但是项目必须要有阶段性的结论,作为一个前端开发,如何避免为了某一个需求而陷入反复更改的困境呢?不要把责任全部推到产品不断的需求更改或者设计 ...

最新文章

  1. Oracle 中多个字段显示成一列
  2. Android UI:XML文件配置按钮等背景方案
  3. matlab求logistics映射 的le_高维映射 与 核方法(Kernel Methods)
  4. 如何从开发小白到音视频专家
  5. C#实现对文件目录的实时监控
  6. RN通信机制和渲染流程
  7. psychopy 音频时长代码_多媒体之音频输入1
  8. PowerManager.WakeLock使用(屏幕恒亮)
  9. 在 chrome 中使用 coap 调试插件 copper
  10. Redis入门到入土教程_1
  11. 【sklearn第十三讲】Naive Bayes分类器
  12. hdoj2044:一只小蜜蜂(递推)
  13. Hbase下载与安装部署(一)- 独立式
  14. Python#Typora-Python笔记
  15. android开发炫酷背景图片,12 个炫酷背景特效库
  16. java 遍历出d盘所有文件_JAVA遍历一个文件夹中的所有文件
  17. echarts中渐变色的使用
  18. Cadence OrCAD 自定义标题栏 /标题栏添加公司 Logo
  19. 如何解决偏振衰落问题---偏振分集
  20. 京东成华为新品首发阵地 智慧手机Mate 10发布

热门文章

  1. [转载] python语言中表示赋值的符号是_Python 语言中 asterisk 符号用法小结
  2. [转载] python中随机数生成函数_python中seed随机函数如何生成随机数?
  3. c语言里面你不知道的break与switch,contiune的用法
  4. 使用jsPlumb插件实现动态连线功能
  5. Hamilton四元数
  6. java.util.HashMap
  7. oracle中循环读出一个表的信息插入到另外一个表中
  8. Java异常处理 误区
  9. jQuery标题文字淡入淡出显示效果
  10. 【转】数据库范式(1NF 2NF 3NF BCNF)详解二