高性能JavaScript(文档)

最近在全力整理《高性能JavaScript》的文档,并重新学习一遍,放在这里方便大家查看并找到自己需要的知识点。

前端开发文档

高性能JavaScript

第1章:加载和执行

  1. 脚本位置
  2. 阻止脚本
  3. 无阻塞的脚本

    • 延迟的脚本
    • 动态脚本元素
    • XMLHTTPRequest脚本注入
    • 推荐的无阻塞模式
  4. 小结

第2章:数据存取

  1. 管理作用域

    • 作用域链和标识符解析
    • 标识符解析的性能
    • 改变作用域链
    • 动态作用域
    • 闭包、作用域和内存
  2. 对象成员

    • 原型
    • 原型链
    • 嵌套成员
    • 缓存对象成员值

第3章:DOM编程

  1. 浏览器中的DOM

    • 天生就慢
  2. DOM访问与修改

    • innerHTML对比DOM方法
    • 节点克隆
    • HTML集合
    • 遍历DOM
  3. 重绘与重排

    • 重排何时发生
    • 渲染树变化的排队与刷新
    • 最小化重绘与重排
    • 缓存布局信息
    • 让元素脱离动画流
    • IE和:hover
  4. 事件委托
  5. 小结

第4章:算法与流程控制

  1. 循环

    • 循环类型
    • 循环性能
    • 基于函数的迭代
  2. 条件语句

    • if-else对比switch
    • 优化if-else
    • 查找表
  3. 递归

    • 调用栈限制
    • 递归模式
    • 迭代
    • Memoizaton
  4. 小结

第5章:字符串和正则表达式

  1. 字符串连接

    • +和加等+=操作符
    • 数组项合并
    • String.prototype.concat
  2. 正则表达式优化

    • 正则表达式工作原理
    • 理解回溯
    • 回溯失控
    • 基准测试的说明
    • 更多提高正则表达式效率的方法
    • 何时不用正则表达式
  3. 去除字符串首尾空白

    • 使用正则表达式去除首尾空白
    • 不使用正则表达式去除首尾空白
    • 混合解决方案
  4. 小结

第6章:快速响应的用户界面

  1. 浏览器UI线程

    • 浏览器限制
    • 多久才算太久
  2. 使用定时器让出时间片段

    • 定时器基础
    • 定时器精度
    • 使用定时器处理数组
    • 分割任务
    • 定时器与性能
  3. Web Workers

    • Worder运行环境
    • 与Worker通信
    • 加载外部文件
    • 实际应用

第7章:Ajax

  1. 数据传输

    • 请求数据
    • 发送数据
  2. 数据格式

    • XML
    • JSON
    • HTML
    • 自定义格式
    • 数据格式总结
  3. Ajax性能指南

    • 缓存数据
    • 了解Ajax类库的局限
  4. 小结

第8章:编程实践

  1. 避免双重求值
  2. 使用Object/Array直接量
  3. 避免重复工作

    • 延迟加载
    • 条件预加载
  4. 使用速度快的部分

    • 位操作
    • 原生方法
  5. 小结

第9章:构建并部署高性能JavaScript应用

  1. Apache Ant
  2. 合并多个JS文件
  3. 预处理JS文件
  4. JS压缩
  5. 构建时处理与运行时处理的对比
  6. JS的HTTP压缩
  7. 缓存JS文件
  8. 处理缓存问题
  9. 使用内容分发网络(CDN)
  10. 部署JS资源
  11. 敏捷JS构建过程
  12. 小结

第10章:工具

  1. JS性能分析
  2. YUI Profiler
  3. 匿名函数
  4. Firebug

    • 控制台面板分析工具
    • Console API
    • 网络面板
  5. IE开发人员工具
  6. Safari Web检查器(Web Inspector)

    • 分析面板
    • 资源面板
  7. Chrome开发人员工具
  8. 脚本阻塞
  9. Page Speed
  10. Fiddler
  11. YSlow
  12. dynaTrace Ajax Edition
  13. 小结

相关推荐