zoukankan      html  css  js  c++  java
  • 【面试季二】前端性能优化

    这是一个老生常谈的内容了,90%的面试里都会问到,在这里只是再简单的整理一遍,以加强记忆巩固。

    一 减少Http请求:主要可以通过合并图片、Css、Js和页面延迟加载等方法减少请求次数;

    二 减少repaint和reflow:主要是指要尽量减少页面的重新渲染和重新布局,这个实际工作中基本是不可避免的,就合理使用即可;

    三 减少对DOM的操作:主要是指尽量减少对DOM的增删改查这一类的节点操作,尽量使用局部变量,这个在某些项目中也是不可避免的,所以要合理应对;

    四 使用JSON进行数据交换:JSON是一种轻量级的数据格式,也是JS自带的,所以有很多优点;

    五 使用CDN加速:这个是最近多数公司都在使用的,中文是内容分发网络,可以就近分配内容,可以增加一些访问速度;

    六 CSS和JS文件都尽量使用外链样式,并且将JS文件放在body最外边,我一般在写的时候都是放在html的最外边,基本一个意思。主要原因是因为JS具有阻塞特性会影响其他内容的加载和渲染。(我平时都说JS是单进程语言,暂时未仔细研究单进程和阻塞特性是否是一个东西。。。)

    七 压缩JS文件:我一般都是用在线压缩工具,最近面试被问到有没有用过那种可以一边编写一边压缩的工具。。。囧。。。如有知道的大牛,请告知一二;

    八 压缩图片和合并图片:压缩图片我一般在切图的时候就会做了,在PS文件中存储切片时降低分辨率,选择适当的图片格式或是降低图片质量。不过自从retina屏出来以后我又开始纠结要不要这么做了,因为EXBoss用的是MacPro。。。这个各位大牛现在是怎么做的?用@2x.png这样来解决以外还有其他的吗?请指教!

    以上总结来自http://www.cnblogs.com/Darren_code/archive/2011/12/31/property.html这里,在这里借鉴一下,因为人家总结的比我好嘛~我只是简化后搬过来方便自己记忆,如有不明确或是不详细的地方,请查看原文。

  • 相关阅读:
    可恶的0x1A
    求关注 wcf bindipendpointdelegate 端口限制的功能
    2015 UESTC Training for Data Structures
    Codeforces Round #298 (Div. 2)
    利用rawcap抓包(自己发给自己的包裹)
    PYTHON POST练手
    CentOS安装Nginx 实现HTTP代理
    how to make vim show ^M and substitute it
    Oracle SQL Developer: cannot find a j2se sdk
    Codeforces Round #282 (Div. 2)
  • 原文地址:https://www.cnblogs.com/oyangyin/p/4813267.html
Copyright © 2011-2022 走看看