👨‍💻
Hong's 前端笔记
  • 🌈About
  • JavaScript
    • 作用域
    • 闭包
    • this
      • bind()
    • 原型
      • Object.create()
      • 模拟“类”
      • ES6 Class
      • Function
    • 对象
    • 类型 & 值
      • 原生函数
      • 数组
      • 字符串
    • 异步
    • JavaScript 相关概念
      • Event Loop 事件循环
      • Prototype 原型
      • Context 执行上下文
      • this
      • Promise
    • JavaScript 常见问题
      • 手写实现
      • 看代码输出
  • React
    • 核心概念
    • 深入理解
      • State
      • 如何管理 State
      • React 渲染过程
      • 处理 DOM 事件
      • Pure 组件
      • Context
      • Key 属性
      • React.lazy()
      • Render Props
    • Hooks
      • useState
      • useRef
      • useEffect
        • Some details
      • 相关概念
      • 自定义 Hook
      • useEffect vs useLayoutEffect
    • React 相关问题
      • Class vs Function
  • React Libraries
    • Redux
      • Quick Start
      • 如何持久化 Redux 数据
      • 异步操作
      • 性能优化
      • Dive into immutability
    • Route v6
      • Quick Start
  • Reactivity
    • Immer
  • Vue
    • 深入理解
      • Composition vs Options
      • Reactivity
  • Network
    • Cookies
    • HTTP
    • HTTPS
    • CORS 跨域资源共享
    • 认证手段
    • 安全相关
    • 网络相关知识
  • Browser
    • DOM 操作
    • Events 事件
    • XHR & Fetch
    • 性能优化
    • HTML 相关概念
    • 浏览器相关概念
  • CSS
    • 盒模型
    • Layout 布局
    • Styles 样式
    • CSS 相关概念
    • CSS 相关技巧
      • 移动端适配
      • Flex
      • 动画
  • TypeScript
    • Quick Peek
    • Types in TypeScript
    • Narrowing
    • Functions in TypeScript
  • Workflow
    • Webpack
      • Webpack 概念
      • 资源管理
      • 管理输出
      • 开发环境配置
      • 生产环境配置
      • 优化代码运行性能
  • Others
    • 小程序与原生 Web 的区别
  • SSO
    • About
    • API Doc
    • 接入指南
Powered by GitBook
On this page
  • 加载优化
  • 执行优化
  • 渲染优化
  • 样式优化
  • 脚本优化
  • 尾调用优化
  • 懒加载
Edit on GitHub
  1. Browser

性能优化

  • 加载优化

  • 执行优化

  • 渲染优化

  • 样式优化

  • 脚本优化

加载优化

  1. 减少 HTTP 请求:合并 css,js文件;使用 css 精灵图

  2. 缓存资源

  3. 压缩代码,启用 gzip

  4. 压缩图像

  5. 减少 cookie,静态资源域名不试用 cookie

  6. 内联样式会阻塞加载,样式在 head 中用 link 引入,script 放在 body最后

  7. 首屏加载,优化快速显示

  8. 按需加载:懒加载,滚屏加载

  9. 预加载

  10. 异步加载

执行优化

  1. css 写头部,js 放尾部并使用异步

  2. 避免 img iframe 的 src 为空,因为空的 src 会导致重载

渲染优化

  1. 设置 viewpoint

  2. 减少 DOM 节点

  3. 优化动画:元素多时使用 canvas

  4. 优化高频事件:scroll、touch move:节流,防抖

样式优化

  1. 避免在 HTML 中写 style

  2. 避免 CSS 表达式

  3. 不滥用 float

  4. 不滥用 Web 字体,字体需要下载,解析

脚本优化

  1. 减少 DOM 操作

  2. 尽量修改 class 而不是 style

尾调用优化

如果一层层函数调用下去,会占用调用栈,如果内层函数不需要外层函数的数据,那么可以不 push 一个新的调用栈

function foo() {
  function bar() {
    ...
  }
  return bar()
}

懒加载

图片

Last updated 3 years ago