1.减少http请求
合并JavaScript和css文件 , 合并图片css Sprites , 图像映射(image Map) 使用Data UPL来编码图片 ,图片较多的页面也可以使用lazyLoad等技术进行优化 .
2.减少对DOM的操作
修改和访问DOM元素会造成页面的Repaint(重绘)Reflow(回流),所以不应该对DOM进行循环操作 . 合理使用JavaScript变量存储内容 , 大量的DOM元素中的循环的性能开销较大 , 在循环结束时一次性写入 .
减少对DOM元素的查询和修改 , 查询时可以将器赋值给局部变量 .
3.使用JSON格式来进行数据交换
JSON是一种轻量级的数据交换格式 , 采用完全独立于语言的文本格式 , 是理想的数据交换格式 . 同时 , JSON是JavaScript的原生格式 , 这意味着在JavaScript中处理JSON数据不需要任何特殊处理的API小工具包 . 与XML序列化相比 , JSON序列化后产生的数据一般要比XML序列化后数据体积小.
4.高效使用HTML标签和css样式
HTML是一种超文本标记语言 , 使用合力的html标签必须了解其属性 , 比如Flow Elemwnt , Metadata Element , Phrasing Element . 比较基础的就是要知道块级元素和内敛元素 , 盒模型等方面的知识.
css是用来渲染页面的 , 也是存在渲染效率的问题 . css选择符是从右向左进行匹配的 , 当页面被触发引起回流的时候 , 低效的选择符依然会引发高的开销 , 所以要避免低效 .
5.使用cdn加速
基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节 , 使内容传输的更快 , 更稳定 , 通过在网略各处防止节点服务器所构成的在现有的互联网基础之上的一层只能虚拟网略 , cdn系统能够实时的根据网略流量和各节点的连接 , 负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户更近的服务器节点上.
6.将css和js文件放到外部文件中引用
7.因为Coockie是本地的磁盘文件 , 每次浏览器都会去读取相应的Coockie , 所以建议去除不必要的Coockie , 是Coockie的体积尽量小以减少对用户响应的影响.
Coockie是有生命周期的 , 注意设置合理的过期时间 .