
作品简介
如果你使用JavaScript构建交互丰富的Web应用,那么JavaScript代码可能是造成你的Web应用速度变慢的主要原因。本书揭示的技术和策略能帮助你在开发过程中消除性能瓶颈。你将会了解如何提升各方面的性能,包括代码的加载、运行、DOM交互、页面生存周期等。雅虎的前端工程师Nicholas C.Zakas和其他五位JavaScript专家介绍了页面代码加载的最佳方法和编程技巧,来帮助你编写更为高效和快速的代码。你还会了解到构建和部署文件到生产环境的最佳实践,以及有助于定位线上问题的工具。
Nicholas C.Zakas,是一位软件工程师,专注于用户界面设计以及用JavaScript,动态HTML,CSS,XML和XSLT实现Web应用。他目前就职于Yahoo!首页小组,职位为首席前端工程师。他同时也是YUI(Yahoo!用户界面类库)的代码贡献者,作品有Cookie工具集,Profiler和YUI Test。
作品目录
O'Reilly Media,Inc.介绍
译者序
前言
第1章 加载和执行
1.1 脚本位置
1.2 组织脚本
1.3 无阻塞的脚本
1.4 小结
第2章 数据访问
2.1 管理作用域
2.2 对象成员
2.3 小结
第3章 DOM编程
3.1 浏览器中的DOM
3.2 DOM访问与修改
3.3 重绘与重排
3.4 事件委托
3.5 小结
第4章 算法和流程控制
4.1 循环
4.2 条件语句
4.3 递归
4.4 小结
第5章 字符串和正则表达式
5.1 字符串连接
5.2 正则表达式优化
5.3 去除字符串首尾空白
5.4 小结
第6章 Responsive Interfaces
6.1 浏览器UI线程
6.2 使用定时器让出时间片段
6.3 Web Workers
6.4 小结
第7章 Ajax
7.1 数据传输
7.2 数据格式
7.3 Ajax性能指南
7.4 小结
第8章 编程实践
8.1 避免双重求值(Double Evaluation)
8.2 使用Object/Array直接量
8.3 不要重复工作
8.4 使用速度快的部分
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.5 IE开发人员工具
10.6 Safari Web检查器(Web Inspector)
10.7 Chrome开发人员工具
10.8 脚本阻塞
10.9 Page Speed
10.10 Fiddler
10.11 YSlow
10.12 dynaTrace Ajax Edition
10.13 小结
索引
关于作者
关于封面
博文视点O’REILLY®系列
反侵权盗版声明
载入中
热门划线
任何带有defer属性的<script>元素在DOM完成加载之前都不会被执行3 人
把一段内嵌脚本放在引用外链样式表的<link>标签之后会导致页面阻塞去等待样式表的下载2 人
这段代码只有一个位于页面底部的<script>标签,它却加载了多个 JavaScript 文件2 人
CSS文件本已是并行下载,不会阻塞页面的其他进程。2 人
函数每次执行时对应的运行期上下文都是独一无二的,所以多次调用同一个函数就会导致创建多个运行期上下文。当函数执行完毕,执行期上下文就被销毁。2 人
先将全局变量的引用存储在一个局部变量中,然后使用这个局部变量代替全局变量2 人
访问数组条目所耗的时间存在巨大差异是因为,每次调用 eval()时都要创建一个新的解释器/编译器实例。同样的过程也发生在使用 Function()、setTimeout()和 setInterval()时,这必然使得代码执行的速度变慢。2 人
smasher是个 PHP5 编写的应用程序2 人
喜欢这本书的人也喜欢
Scratch底层架构源码分析
49.00元Kotlin核心编程
45.00元深入理解JVM字节码
45.00元