美文网首页前端
前端性能优化(持续记录)

前端性能优化(持续记录)

作者: pastFirst | 来源:发表于2018-03-14 18:15 被阅读8次

    很多前端开发人员其实都见过‘’性能优化‘’这个词,特别是在面试要求上,我也不例外。

    所以我也曾经直接问度娘“前端性能优化”之类的,但是得到的结果看起来有点云里雾里,因为自己没有去尝试过,比较过,所以并没有get到,而这里,我记录的是一些我自己用到过的性能优化方法。

    其实前端就是跟浏览器打交道的,所以所谓的性能优化,就是对浏览器进行优化,包括浏览器向服务器发起请求和接受请求,都是和浏览器自身有关的,所以可以了解一下浏览器的工作原理,这样就会对性能优化产生一定的了解。

1.SPA页面懒加载

    其实就是按需加载,避免首次进页面加载过多的资源,造成等待时间过长。这方面知识挺多的,很多技术框架也自带懒加载功能或者插件。

2.操作DOM尽量减少layout

    比如目前我有两个节点domA,domB,我需要通过js分别给这两个节点的宽度加上20px,

    代码可能如下(jq写法)

    $(domA).css('width',$(domA).outerWidth()+ 20 + 'px');

    $(domB).css('width',$(domB).outerWidth()+ 20 + 'px');

    这样写是OK,分别给两个节点添加了20px的宽度,但是仔细看就会发现,代码的执行顺序是

    先获取domA得宽度,然后再修改domA宽度

    然后再获取domB得宽度,再修改domB宽度

    这样会造成性能消耗,读写,读写,浏览器进行了两次layout操作,

    而我们先获取到两个节点的宽度,再修改节点宽度,读读,写写,这样浏览器只进行一次layout操作。

3.选择器优先级

        选的越少性能越高,因为查询的节点少

     1.id选择器(#myid)

  2.类选择器(.myclassname)

  3.标签选择器(div,h1,p)

  4.相邻选择器(h1+p)

  5.子选择器(ul < li)

  6.后代选择器(li a)

  7.通配符选择器(*)

  8.属性选择器(a[rel="external"])

  9.伪类选择器(a:hover,li:nth-child)

    另外注意样式系统从最右边的选择符开始向左进行匹配规则,

    比如.worker_main .tree div , 浏览器会遍历所有的div标签,然后再找到.tree的节点,最后再找到.worker的节点.

    所以为了提升渲染性能,多层可以用class选择器代替

    当然还需要以实际情况出发,如果页面dom不多,为了可维护性,还是可以使用后代选择器或者子类选择器的.

相关文章

  • 前端性能优化(持续记录)

    很多前端开发人员其实都见过‘’性能优化‘’这个词,特别是在面试要求上,我也不例外。 所以我也曾经直接问度娘...

  • 前端性能优化(中)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(上)...

  • 前端性能优化(下)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(中)...

  • 前端性能优化(上)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 为什么要进行前端性能...

  • 前端面试必问及加分点---性能优化篇

    如何进行网站性能优化 你有用过哪些前端性能优化的方法? 谈谈性能优化问题 代码层面的优化 前端性能优化最佳实践

  • 前端性能优化

    对于前端的性能优化,主要有分为加载优化和性能优化。在Google官方文档中,给出了性能优化有哪些好处。前端优化的最...

  • 常用的后端性能优化六种方式:缓存化+服务化+异步化等

    性能优化专题 前端性能优化 数据库性能优化 jvm和多线程优化 架构层面优化 缓存性能优化 常用的后端性能优化六大...

  • 关于前端性能优化问题详解

    关于前端性能优化问题详解 出处:http://segmentfault.com/blogs 前端性能优化指南 AJ...

  • 前端性能优化

    前端性能优化 下面是我认知的前端性能优化的策略,本书主要着手 JavaScript 优化展开阐述。 JavaScr...

  • 2019-10-22

    2018 前端性能优化清单

网友评论

    本文标题:前端性能优化(持续记录)

    本文链接:https://www.haomeiwen.com/subject/xifqqftx.html