如何做网站性能优化?

作者: 娜姐聊前端 | 来源:发表于2017-05-21 18:23 被阅读183次

优化网站性能有很多方法,总体来说,可以几个方面入手:代码优化,利用缓存,减少请求数量等等。

1. 代码优化

(1) CSS
  • 避免使用CSS表达式
  • 尽可能用类和ID选择,少用后代选择器,子选择,通配符选择器等高级选择器(CSS选择器是从右到左开始匹配)
(2)JavaScript
  • 尽量避免全局查找,建议使用局部变量
  • 将常用变量缓存起来使用
  • 不要使用with语句(会增加作用域链长度)
  • 有效利用正则表达式处理字符串
  • 尽量使用全等===做判断(避免变量隐式转换)
  • 利用setTimeout定时器将耗时长的大任务分割为N个异步任务执行
  • 使用window.requestAnimationFrame()绘制动画,而不是setInterval()
(3)DOM操作
  • innerHtml代替DOM操作,减少DOM操作次数
  • 缓存DOM节点查找的结果
  • 采用事件委托监听DOM事件
  • 少用iframe
  • 尽可能批量修改DOM,可以通过下面的步骤减少重绘和重排的次数:
    • 隐藏元素,进行修改,然后再显示它
    • 使用一个文档片断(document.createDocumentFragment())在已存DOM之外创建一个子树,然后将它拷贝到文档中
    • 将原始元素拷贝到一个脱离文档的节点中,修改副本,然后覆盖原始元素
(4)HTML
  • 样式表和脚本文件都采用外部文件链接方式加载
  • 样式表链接定义在<header>内,脚本文件放在<body>末尾
  • 根据场景可采用JavaScript异步加载模式(动态创建<script>标签)
  • 和渲染无关的脚步文件可以在window.onload()事件触发后再加载

2. 减少HTTP请求数量

  • 雪碧图,图标字体文件
  • data:url渲染图片
  • 合并CSS/JavaScript
  • 利用缓存:和后端配合,利用ExpiresCache-Control:max-age开始强缓存,或者利用Last-Modified/If-Modified-SinceE-Tag/If-None-Match开启协商缓存。

3. 其他

  • 静态资源放置上CDN上
  • HTTP请求开启GZIP
  • 减少DNS查找
  • 压缩CSS/JavaScript
  • 避免重定向
  • 将资源文件放置在多个域名下,提高浏览器并发连接数量
移动端性能优化

* 使用CSS3动画(transition, 3D transform, canvas),开启硬件加速
* 使用requestAnimationFrame代替setTimeout/setInterval运行动画
* 避免使用CSS3阴影效果(box-shadow, text-shadow)
* 避免使用Web字体(字体文件需要下载,解析,重绘)

注意:1-3都适用手机端优化

微信公众号:

相关文章

  • 性能优化随想

    大家老说性能,老说性能优化。那什么是性能?如何做性能优化?如何做好性能优化? 性能是主观的,一般通过一些客观指标来...

  • 前端如何做好网站性能优化

    随着前端技术的迅猛发展,网站前端性能优化的必要性也逐渐凸显出来。下面我们站在前端的角度上谈谈如何做好网站性能的优化...

  • Web前端性能优化进阶——完结篇

    前言 在之前的文章 如何优化网站性能,提高页面加载速度 中,我们简单介绍了网站性能优化的重要性以及几种网站性能优化...

  • 系统性能优化概述

    如何做性能优化 确定优化目标 定位性能瓶颈 制定优化方法 测试优化效果 性能优化目标是什么 吞吐量,越大越好 延时...

  • 前端面试必问及加分点---性能优化篇

    如何进行网站性能优化 你有用过哪些前端性能优化的方法? 谈谈性能优化问题 代码层面的优化 前端性能优化最佳实践

  • 简述http缓存

    简介 网站性能第一优化定律:优先考虑使用缓存优化性能。合理的使用缓存,对网站的性能优化的意义重大。以下对于缓存,都...

  • 如何做网站性能优化?

    优化网站性能有很多方法,总体来说,可以几个方面入手:代码优化,利用缓存,减少请求数量等等。 1. 代码优化 (1)...

  • Web 网站性能优化思路

    网站性能优化是在网站遇到问题时的解决方案。网站性能问题大多是因为用户高并发访问时引起的,所以网站性能优化的主要工作...

  • 前端工程系列(二)

    前端工程与性能优化 首先,我们把雅虎14条优化原则,《高性能网站建设指南》以及《高性能网站建设进阶指南》中提到的优...

  • 2018最新 Android 面试题总结(三)

    Q:项目中如何做性能优化的? 举例说明项目注意了哪些方面的性能优化,如布局优化、绘制优化、内存泄漏优化、 响应速度...

网友评论

  • fcbqs222:common sense了,anyway,thanks

本文标题:如何做网站性能优化?

本文链接:https://www.haomeiwen.com/subject/zphvxxtx.html