这是一个老生常谈的内容了,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这样来解决以外还有其他的吗?请指教!
以上总结来自这里,在这里借鉴一下,因为人家总结的比我好嘛~我只是简化后搬过来方便自己记忆,如有不明确或是不详细的地方,请查看原文。
