前端优化,来自某懒观看麦子学院视频的笔记。

  1. 尽可能减少HTTP的请求数
  2. 使用CDN
  3. 添加Expirs头,或者Cache-control
  4. Gzip组件压缩文件内容
  5. 将CSS放在页面上方
  6. 将脚本放到页面下方
  7. 减少CSS中Expressions:只在IE中使用,在css中通过js动态赋值
  8. 将javaScript和CSS独立成外部文件
  9. 减少DNS查询
  10. 压缩javaScript和CSS
  11. 避免重定向
  12. 移除重复的脚本
  13. 配置实体标签(ETags):客户端请求文件,服务器读取文件标签,如果未修改就直接返回304.
  14. 使用AJAX缓存
  15. 避免空的src href属性
  16. 尽早地刷新缓冲
  17. 使用get来完成ajax
  18. 延迟加载:分批加载
  19. 预先加载:客户端缓存js文件等
  20. 减少DOM元素
  21. 避免404页面
  22. 高效缩写CSS
  23. bigpipe技术,分层显示,先出框架,再加载框架内的物体。
  24. 使用替代@import
  25. 避免使用滤镜:只在旧版IE中使用,修正图片问题
  26. CSS无图片技术:css image(css引入背景图片比较占资源,如果用css绘制类似小三角这样的简单图片,则大大减负)
  27. smush.it、转png格式压缩图片大小
  28. 合并和拆分图片:合并:CSS sprites 将小图片合成大图片,再用背景定位显示图标。拆分:多线程拆分后下载。
  29. 多域名下载图片
  30. IE6缓存背景图片
  31. 预加载图片
  32. 减小cookie的体积,移除不必要的cookie(注意在适应级别上设置cookie,以便子域名不受影响),设置cookie域
  33. 静态资源使用无cookie域名
  34. 设置合理的cookie过期时间
  35. 优化js循环语句。将length属性抽取至判断语句之外。for(in)效率最差,for(;;)=while();
  36. js使用闭包进行缓存
  37. js不再循环中创建函数。改为抽取函数后调用
  38. js手动消除引用,告诉垃圾回收器。不推荐delete函数,推荐使用=null的方法。
  39. 慎用js全局对象,因为不会被垃圾回收
  40. js绑定的事件不需要后取消绑定。推荐用on,防止多次绑定
  41. 慎用js闭包,可能会导致内存泄漏
  42. js少用eval,特别是在循环内。json[i][变量]=1这样的语句不要使用eval
  43. 使用json格式初始化js的对象和数组。而不是new一个。前者引擎直接解释,后者调用构造器。
  44. js使用Math.floor(),“”+的方示进行类型转换。Math是内部对象
  45. js使用正则处理字符串比js循环要快,但构建正则对象比较耗时,尽量抽取后复用。
  46. 存储时使用对象还是数组。键值对中值多样,使用对象。其他使用数组
  47. 数组中对象尽量一致
  48. 缓存ajax.函数缓存。h5中的sessionStorage(会话级)和localStorage(持久化)
  49. bool值的判定,通过率越小越往前。
  50. 工具yslow、pagespeed

前端优化,包括css,jss,img,cookie的更多相关文章

  1. [转] Web前端优化之 CSS篇

    原文链接: http://lunax.info/archives/3097.html Web 前端优化最佳实践第四部分面向 CSS.目前共计有 6 条实践规则.另请参见 Mozilla 开发者中心的文 ...

  2. 前端优化:css雪碧图实践应用详解

    一 为什么需要使用雪碧图 二CSS雪碧图原理及应用 前端是接近用户体验的一个项目组成部分,合适的优化能够大大减少网页响应时间,合理的资源加载自然成为了工作中的要务,现在就结合实例讲解到底什么是css雪 ...

  3. flask前端优化:css/js/html压缩

    1.先压缩再传输,可以减少传输的大小,减少传输时间,但是压缩需要时间,所以最终页面显示是快了还是慢了,需要比较 2.先看html压缩模块:pip install Flask-HTMLmin 压缩前:大 ...

  4. 【前端优化之拆分CSS】前端三剑客的分分合合

    几年前,我们这样写前端代码: <div id="el" style="......" onclick="......">测试&l ...

  5. 转:浅谈CSS在前端优化中一些值得注意的关键点

    前端优化工作中要考虑的元素多种多样,而合理地使用CSS脚本可以在很大程度上优化页面的加载性能,以下我们就来浅谈CSS在前端优化中一些值得注意的关键点: 当谈到Web的“高性能”时,很多人想到的是页面加 ...

  6. [转] Web前端优化之 Cookie篇

    原文链接: http://lunax.info/archives/3095.html Web 前端优化最佳实践第三部分面向 Cookie .目前只有 2 条实践规则. 1. 缩小 Cookie (Re ...

  7. [转][前端优化]使用Combres合并对js、css文件的请求

    本文转自:http://www.cnblogs.com/parry/archive/2011/01/28/Reduce_Http_Request_Using_Combres_For_Js_Css.ht ...

  8. 【转】yahoo前端优化军规

    雅虎给出了前端优化的34条法则(包括Yslow规则22条) 详细说明,下载转发 ponytail 的译文(来自帕兰映像). Minimize HTTP Requests 减少http请求 图片.css ...

  9. Web前端优化最佳实践及工具集锦

    Web前端优化最佳实践及工具集锦 发表于2013-09-23 19:47| 21315次阅读| 来源Googe & Yahoo| 118 条评论| 作者王果 编译 Web优化Google雅虎P ...

随机推荐

  1. 小程序模板template使用介绍

    template(模板):是可以在wxml中引用的代码,就是在wxml中引用公用的wxml类型的代码,它的作用类似于组件,因此这里简单的说明下template与Component (组件)的区别. t ...

  2. (办公)记事本_Linux常用的目录命令

    参考尚硅谷的谷粒学院:http://www.gulixueyuan.com/course/300/task/7078/show#(免费看,课程很全面,用手机登录一下就行.) .[root@localh ...

  3. Linux系统学习 十二、VSFTP服务—简介与原理

    1.简介与原理 互联网诞生之初就存在三大服务:WWW.FTP.邮件 FTP主要针对企业级,可以设置权限,对不同等级的资料针对不同权限人员显示. 但是像网盘这样的基本没有权限划分. 简介: FTP(Fi ...

  4. SpringBoot开发准备工作,保存备用,

    application.properties server.port=8080 spring.thymeleaf.prefix = classpath:/static/ spring.thymelea ...

  5. JQ的offset().top与JS的getBoundingClientRect区别详解,JS获取元素距离视窗顶部可变距离

     壹 ❀ 引 我在 JQ的offset().top与js的offsetTop区别详解 这篇博客中详细分析了JQ方法offset().top与JS属性offsetTop的区别,并得出了一条offset( ...

  6. Jrebel实现tomcat热部署,遇到的问题以及解决办法,详解

    我的安装的详细过程: 下载Jrebel:  https://github.com/ilanyu/ReverseProxy/releases/tag/v1.4 我的是winx64,所以选择如下的: 下载 ...

  7. oracle相邻表记录交换(单双两两交换)

    在博客园的博问中看到了一个这样的提问:一个表中有id和name两个字段,id是连续非空不重复的,想要交换相邻表记录的name值(单双两两交换). 另外,如果最后的单独行没有对应的下一行匹配记录的话,就 ...

  8. 查看SpringBoot应用中的嵌入式tomcat的版本

    第一种,在启动springboot项目的时候,日志中可以看到 第二种,直接在maven依赖文件中查看 地址在:你的maven库文件夹/org/springframework/boot/spring-b ...

  9. 【TencentOS tiny】深度源码分析(5)——信号量

    信号量 信号量(sem)在操作系统中是一种实现系统中任务与任务.任务与中断间同步或者临界资源互斥保护的机制.在多任务系统中,各任务之间常需要同步或互斥,信号量就可以为用户提供这方面的支持. 抽象来说, ...

  10. 阿里面试实战题2----ReentrantLock里面lock和tryLock的区别

    ReentrantLock ReentrantLock(轻量级锁)也可以叫对象锁,可重入锁,互斥锁.synchronized重量级锁,JDK前期的版本lock比synchronized更快,在JDK1 ...