前端性能优化一

前端性能优化分为以下几个方面:javascript

1、代码部署:

一、代码的压缩与合并
二、图片、js、css等静态资源使用和主站不一样域名地址存储,从而使得在传输资源时不会带上没必要要的cookie信息。
三、使用内容分发网络 CDN
四、为文件设置Last-Modified、Expires和Etag
五、使用GZIP压缩传送
六、权衡DNS查找次数(使用不一样域名会增长DNS查找)
七、避免没必要要的重定向(加"/")css

2、编码

html:

一、使用结构清晰,简单,语义化标签
二、避免空的src和href
三、不要在HTML中缩放图片html

css:

一、精简css选择器 二、把CSS放到顶部
三、避免@import方式引入样式
四、css中使用base64图片数据取代图片文件,减小请求数,在线转base64网站:http://tool.css-js.com/base64.html
五、使用css动画来取代javascript动画
六、使用字体图标,图标库网站:http://fontawesome.io/icons/,在线制做网站:www.iconfont.cn
七、使用css sprite
八、使用svg图形
九、避免使用CSS表达式前端

a {star : expression(onfocus=this.blur)} 

十、避免使用滤镜java

javascript:

一、减小引用库的个数
二、使用requirejs或seajs异步加载js
三、JS放到页面底部引入
四、避免全局查找
五、减小属性查找
六、使用原生方法
七、用switch语句代替复杂的if else语句
八、减小语句数,好比说多个变量声明能够写成一句
九、使用字面量表达式来初始化数组或者对象
十、使用DocumentFragments或innerHTML取代复杂的元素注入
十一、使用事件代理(事件委托)
十二、避免屡次访问dom选择集
1三、高频触发事件设置使用函数节流,如:onmousemove、onmouseover
1四、使用Web Storage缓存数据
1五、使用Array的join方法来代替字符串的“+”链接(先将要链接的字符串放进数组)express