服务器方面:
提升本身服务器质量,带宽等方面
开启浏览器缓存,减小http请求
开启gzip压缩
使用内容分发网络cdncss
html界面
css文件放在head,js文件放在html尾部。下载某一个js时其余任务是暂停的,须要等这个JS下载并执行完毕后再下载其余的
不适用内联css
尽可能减小标签,很少用一个标签,如clear清除浮动用 :after
js的延迟加载,异步加载,使用defer标签 、 async="true"
减小dns查询。每引用一个来自外部的文件,就会有一个dns查询,通常对首次访问网站的速度会有影响
避免出现404,下载js时遇到404是很大的问题
避免出现空的src,如 src=""
减小http请求:图片sprite技术,结合css、js代码html
代码方面
项目最后使用压缩工具压缩css,js
css的class不要太长,要有清楚的层级关系
js操做样式时使用class,html里不使用内联css和js代码web
JS的优化
字符串的拼接:使用 += 是较低效的,可以使用数组的 join() 方法
使用循环时尤为不要使用 for(in),while比for(;;)效率要高一点
局部变量的访问速度比全局变量更快,并且要尽可能避免全局变量
对DOM元素的每一次操做代价都比较高,因此尽可能少得操做。好比for循环中有对字符串的拼接,而后使用innerHTML操做,就应该把innerHTML放在for循环外面
对某个dom节点进行操做时,将这个dom节点存在一个局部变量中
关于字符串遍历,优先使用正则表达式
变量类型转换
把数字转换成字符串 (""+)>String()>.toString()>newString()
字符串转换成数字 parseInt()
浮点型和整型之间的转换 Math.floor()或者Math.round()
使用直接量 var a = [] 比var a = new Array()快
建立dom节点 最好不要直接写字符串,而应该调用creatElement()方法正则表达式