我所理解的前端性能优化
2017-08-23 14:44
253 查看
前端优化的目的是提升访问速度、改善用户体验。前端页面主要包括html、css、js,而作为web前端工程师,可以控制的正好是这三部分以及相应的背景图片,所以,我们可以从三个方面来优化前端性能。
1、html部分
a、要避免代码的深层级嵌套。因为层级越深的节点在初始化时更占内存。
b、尽量不要使用h5摒弃的iframe标签,因为在页面加载的时候iframe标签会阻塞父文档onload事件的触发,这恰恰影响了初始化UI
c、诸如img、link、script等元素的src或href属性的值不为空,因为就算我们写为src=""浏览器仍会发送http请求
d、为页面中的图片设置宽高,这样做的好处是在页面加载完前就完成了布局,如若未指定宽高,在图片加载后还要调整其大小,影响时间。
e、在html文档开始就指定文档字符集,这样做的目的是在有助于浏览器加载时就能立即解析html代码
2、css部分:
a、将样式表置顶,这样做的好处是文档加载完毕之前样式就已经加载完,不用等页面加载完毕后再重新加载样式
b、避免使用css表达式
c、使用外部css并且精简css,移除无用的css样式
d、避免使用filter滤镜:这种滤镜的使用会导致图片在下载的时候阻塞网页绘制,另外使用这种滤镜会导致内存使用量的问题。IE9中已经不再支持。
e、用link来代替@important
3、js部分
a、将脚本置底,避免script标签加载的时候页面等待加载
b、使用外部脚本以及精简后的去除重复的脚本
c、尽量减少dom访问,在《高性能JavaScript》中这么比喻:“把DOM看成一个岛屿,把JavaScript(ECMAScript)看成另一个岛屿,两者之间以一座收费桥连接”。所
4000
以每次访问DOM都会教一个过桥费,而访问的次数越多,交的费用也就越多。所以一般建议尽量减少过桥次数。
d、使用json格式来进行数据交换,因为JSON是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript原生格式,这意味着在 JavaScript 中处理 JSON数据不需要任何特殊的 API 或工具包。
1、html部分
a、要避免代码的深层级嵌套。因为层级越深的节点在初始化时更占内存。
b、尽量不要使用h5摒弃的iframe标签,因为在页面加载的时候iframe标签会阻塞父文档onload事件的触发,这恰恰影响了初始化UI
c、诸如img、link、script等元素的src或href属性的值不为空,因为就算我们写为src=""浏览器仍会发送http请求
d、为页面中的图片设置宽高,这样做的好处是在页面加载完前就完成了布局,如若未指定宽高,在图片加载后还要调整其大小,影响时间。
e、在html文档开始就指定文档字符集,这样做的目的是在有助于浏览器加载时就能立即解析html代码
2、css部分:
a、将样式表置顶,这样做的好处是文档加载完毕之前样式就已经加载完,不用等页面加载完毕后再重新加载样式
b、避免使用css表达式
c、使用外部css并且精简css,移除无用的css样式
d、避免使用filter滤镜:这种滤镜的使用会导致图片在下载的时候阻塞网页绘制,另外使用这种滤镜会导致内存使用量的问题。IE9中已经不再支持。
e、用link来代替@important
3、js部分
a、将脚本置底,避免script标签加载的时候页面等待加载
b、使用外部脚本以及精简后的去除重复的脚本
c、尽量减少dom访问,在《高性能JavaScript》中这么比喻:“把DOM看成一个岛屿,把JavaScript(ECMAScript)看成另一个岛屿,两者之间以一座收费桥连接”。所
4000
以每次访问DOM都会教一个过桥费,而访问的次数越多,交的费用也就越多。所以一般建议尽量减少过桥次数。
d、使用json格式来进行数据交换,因为JSON是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript原生格式,这意味着在 JavaScript 中处理 JSON数据不需要任何特殊的 API 或工具包。
相关文章推荐
- input屏蔽历史记录 ;function($,undefined) 前面的分号是什么用处 JSON 和 JSONP 两兄弟 document.body.scrollTop与document.documentElement.scrollTop兼容 URL中的# 网站性能优化 前端必知的ajax 简单理解同步与异步 那些年,我们被耍过的bug——has
- 【笔记】我理解到的前端性能优化之14条军规
- 怎么理解移动端H5前端性能优化
- vue nextTick深入理解-vue性能优化、DOM更新时机、事件循环机制
- speeding up your web site 前端性能优化规则(二)
- 杂记(前端安全以及性能优化)
- 前端性能优化之js,css调用优化
- 简要谈谈前端性能优化的问题
- 周刊4#:前端性能优化
- Web前端性能优化之CDN加速
- 前端:实用性能优化技巧
- 【前端性能】高性能滚动 scroll 及页面渲染优化
- 关于jQuery的前端性能优化
- 前端工程与性能优化
- 转 Web前端性能优化全攻略
- web前端性能优化
- 网站前端性能优化
- 前端性能优化:数组操作的优化二
- Web 前端性能优化——把 JavaScript 中的对象存储在变量中
- 前端性能优化----yahoo前端性能团队总结的35条黄金定律