科技
类型
9.0
豆瓣评分
可以朗读
语音朗读
141千字
字数
2010-11-01
发行日期
展开全部
主编推荐语
雅虎的前端工程师介绍页面代码加载的最佳方法和编程技巧。
内容简介
如果你使用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®系列
- 反侵权盗版声明
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。