展开全部

主编推荐语

雅虎的前端工程师介绍页面代码加载的最佳方法和编程技巧。

内容简介

如果你使用JavaScript构建交互丰富的Web应用,那么JavaScript代码可能是造成你的Web应用速度变慢的主要原因。本书揭示的技术和策略能帮助你在开发过程中消除性能瓶颈。

你将会了解如何提升各方面的性能,包括代码的加载、运行、DOM 交互、页面生存周期等。雅虎的前端工程师尼古拉斯·C·萨卡斯和其他五位JavaScript专家介绍了页面代码加载的最佳方法和编程技巧,来帮助你编写更为高效和快速的代码。你还会了解到构建和部署文件到生产环境的最佳实践,以及有助于定位线上问题的工具。

目录

  • 版权信息
  • 内容简介
  • O'Reilly Media,Inc.介绍
  • 译者序
  • 前言
  • 第1章 加载和执行
  • 1.1 脚本位置
  • 1.2 组织脚本
  • 1.3 无阻塞的脚本
  • 1.3.1 延迟的脚本
  • 1.3.2 动态脚本元素
  • 1.3.3 XMLHttpRequest脚本注入
  • 1.3.4 推荐的无阻塞模式
  • 1.4 小结
  • 第2章 数据访问
  • 2.1 管理作用域
  • 2.1.1 作用域链和标识符解析
  • 2.1.2 标识符解析的性能
  • 2.1.3 改变作用域链
  • 2.1.4 动态作用域
  • 2.1.5 闭包,作用域和内存
  • 2.2 对象成员
  • 2.2.1 原型
  • 2.2.2 原型链
  • 2.2.3 嵌套成员
  • 2.2.4 缓存对象成员值
  • 2.3 小结
  • 第3章 DOM编程
  • 3.1 浏览器中的DOM
  • 3.1.1 天生就慢
  • 3.2 DOM访问与修改
  • 3.2.1 innerHTML对比DOM方法
  • 3.2.2 节点克隆
  • 3.2.3 HTML集合
  • 3.2.4 遍历DOM
  • 3.3 重绘与重排
  • 3.3.1 重排何时发生?
  • 3.3.2 渲染树变化的排队与刷新
  • 3.3.3 最小化重绘和重排
  • 3.3.4 缓存布局信息
  • 3.3.5 让元素脱离动画流
  • 3.3.6 IE和:hover
  • 3.4 事件委托
  • 3.5 小结
  • 第4章 算法和流程控制
  • 4.1 循环
  • 4.1.1 循环的类型
  • 4.1.2 循环性能
  • 4.1.3 基于函数的迭代
  • 4.2 条件语句
  • 4.2.1 if-else对比switch
  • 4.2.2 优化if-else
  • 4.2.3 查找表
  • 4.3 递归
  • 4.3.1 调用栈限制
  • 4.3.2 递归模式
  • 4.3.3 迭代
  • 4.3.4 Memoization
  • 4.4 小结
  • 第5章 字符串和正则表达式
  • 5.1 字符串连接
  • 5.1.1 加(+)和加等于(+=)操作符
  • 5.1.2 数组项连接
  • 5.1.3 String.prototype.concat
  • 5.2 正则表达式优化
  • 5.2.1 正则表达式工作原理
  • 5.2.2 理解回溯
  • 5.2.3 回溯失控
  • 5.2.4 基准测试的说明
  • 5.2.5 更多提高正则表达式效率的方法
  • 5.2.6 何时不使用正则表达式
  • 5.3 去除字符串首尾空白
  • 5.3.1 使用正则表达式去首尾空白
  • 5.3.2 不使用正则表达式去除字符串首尾空白
  • 5.3.3 混合解决方案
  • 5.4 小结
  • 第6章 Responsive Interfaces
  • 6.1 浏览器UI线程
  • 6.1.1 浏览器限制
  • 6.1.2 多久才算“太久”?
  • 6.2 使用定时器让出时间片段
  • 6.2.1 定时器基础
  • 6.2.2 定时器的精度
  • 6.2.3 使用定时器处理数组
  • 6.2.4 分割任务
  • 6.2.5 记录代码运行时间
  • 6.2.6 定时器与性能
  • 6.3 Web Workers
  • 6.3.1 Worker运行环境
  • 6.3.2 与Worker通信
  • 6.3.3 加载外部文件
  • 6.3.4 实际应用
  • 6.4 小结
  • 第7章 Ajax
  • 7.1 数据传输
  • 7.1.1 请求数据
  • 7.1.2 发送数据
  • 7.2 数据格式
  • 7.2.1 XML
  • 7.2.2 JSON
  • 7.2.3 HTML
  • 7.2.4 自定义格式
  • 7.2.5 数据格式总结
  • 7.3 Ajax性能指南
  • 7.3.1 缓存数据
  • 7.3.2 了解Ajax类库的局限
  • 7.4 小结
  • 第8章 编程实践
  • 8.1 避免双重求值(Double Evaluation)
  • 8.2 使用Object/Array直接量
  • 8.3 不要重复工作
  • 8.3.1 延迟加载
  • 8.3.2 条件预加载
  • 8.4 使用速度快的部分
  • 8.4.1 位操作
  • 8.4.2 原生方法
  • 8.5 小结
  • 第9章 构建并部署高性能JavaScript应用
  • 9.1 Apache Ant
  • 9.2 合并多个JavaScript文件
  • 9.3 预处理JavaScript文件
  • 9.4 JavaScript压缩
  • 9.5 构建时处理对比运行时处理
  • 9.6 JavaScript的HTTP压缩
  • 9.7 缓存JavaScript文件
  • 9.8 处理缓存问题
  • 9.9 使用内容分发网络(CDN)
  • 9.10 部署JavaScript资源
  • 9.11 敏捷JavaScript构建过程
  • 9.12 小结
  • 第10章 工具
  • 10.1 JavaScript性能分析
  • 10.2 YUI Profiler
  • 10.3 匿名函数
  • 10.4 Firebug
  • 10.4.1 控制台面板分析工具
  • 10.4.2 Console API
  • 10.4.3 网络面板
  • 10.5 IE开发人员工具
  • 10.6 Safari Web检查器(Web Inspector)
  • 10.6.1 分析面板
  • 10.6.2 资源面板
  • 10.7 Chrome开发人员工具
  • 10.8 脚本阻塞
  • 10.9 Page Speed
  • 10.10 Fiddler
  • 10.11 YSlow
  • 10.12 dynaTrace Ajax Edition
  • 10.13 小结
  • 索引
  • 关于作者
  • 关于封面
  • 博文视点O’REILLY®系列
  • 反侵权盗版声明
展开全部

评分及书评

评分不足
1个评分
  • 用户头像
    给这本书评了
    5.0

    Web 应用日趋丰富的今天,越来越多的 JavaScript 被运用在我们的网页中。随着用户体验被日益重视,前端性能对用户体验的影响开始备受关注,而引起性能问题的因素相对复杂,因此它很难得到全面的解决。这本书是一个契机,它尝试着从多个方面综合分析导致性能问题的原因,并给出适合的解决方案,帮助我们改善 Web 应用的品质。

      转发
      评论

    出版方

    电子工业出版社

    电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。