《华章程序员书库 JavaScript应用开发实践指南》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)莱特著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111426165
  • 页数:314 页
图书介绍:随着HTML5、jQuery和Ajax的兴起,利用JavaScript进行Web开发变得比以往更有价值。在本书中,顶级Web开发和演讲大师Tim Wright给大家介绍了设计层面和开发层面需要掌握的JavaScript的方方面面。读者可以从中学到从jQuery到界面设计再到代码组织,最后再到前端模板的全部内容。

第1章 渐进增强模型 1

1.1 渐进增强式网页开发模型的定义 1

1.1.1 渐进增强式开发模型的历史 2

1.1.2 渐进增强式开发模型的目标 3

1.1.3 易访问性 4

1.1.4 代码可读性 4

1.1.5 渐进增强与平稳退化 4

1.2 结构层 5

1.3 表现层 9

1.3.1 内联CSS 9

1.3.2 链接外部样式表 10

1.4 行为层 11

1.4.1 内联JavaScript代码 12

1.4.2 嵌入式JavaScript代码 13

1.4.3 外联式的低调JavaScript代码 15

1.5 渐进增强式开发模型的好处 16

1.5.1 性能 17

1.5.2 适应新趋势 17

1.5.3 触摸界面 19

1.6 渐进增强模型结语 20

1.7 总结 20

1.8 习题 20

第2章 JavaScript语言在浏览器中的运用 21

2.1 JavaScript风云录 22

2.1.1 源起 22

2.1.2 渐进增强模型 24

2.1.3 行为层 25

2.1.4 JavaScript的未来 26

2.2 浏览器与JavaScript代码的交互 26

2.2.1 HTTP请求 27

2.2.2 JavaScript引擎与渲染引擎 31

2.3 JavaScript语言能做什么 32

2.3.1 修改HTML文档 32

2.3.2 与服务器通信 33

2.3.3 存储数据 34

2.4 JavaScript的正确用法 34

2.4.1 改善用户体验 35

2.4.2 编写可靠的JavaScript代码 35

2.4.3 创建备用方案 37

2.5 JavaScript辅助开发工具 38

2.5.1 语言内置的工具 39

2.5.2 浏览器中的工具 40

2.6 总结 40

2.7 习题 41

第3章 JavaScript术语解析 42

3.1 基本术语 42

3.1.1 文档对象模型(DOM) 42

3.1.2 父节点 43

3.1.3 子节点 43

3.1.4 兄弟节点 44

3.1.5 变量 44

3.1.6 字符串 46

3.1.7 注释 46

3.1.8 操作符 47

3.1.9 use strict指令 48

3.2 数据存储方式 48

3.2.1 缓存 48

3.2.2 数组 49

3.2.3 cookies 49

3.2.4 JavaScript对象表示法(JSON) 50

3.2.5 对象 50

3.3 创建交互层 51

3.3.1 循环 51

3.3.2 条件语句 52

3.3.3 switch语句 53

3.3.4 函数 53

3.3.5 匿名函数 54

3.3.6 回调函数 56

3.3.7 方法 56

3.3.8 事件 57

3.3.9 Ajax 58

3.4 总结 58

3.5 习题 59

第4章 操作文档对象模型 60

4.1 文档对象模型是什么 60

4.2 DOM结构树 61

4.2.1 元素节点 62

4.2.2 文本节点 63

4.2.3 属性节点 64

4.3 处理元素节点 66

4.3.1 根据ID定位元素 66

4.3.2 根据标签名称定位元素 67

4.3.3 根据class属性定位元素 70

4.3.4 在JavaScript中使用CSS选择器来定位节点 71

4.4 处理属性节点 73

4.4.1 获取属性 74

4.4.2 设置属性 75

4.4.3 移除属性 76

4.5 处理文本节点并修改其内容 76

4.6 遍历DOM 77

4.6.1 访问首尾两个子节点 79

4.6.2 在DOM中动态地添加和移除节点 80

4.6.3 向DOM中新增元素 81

4.6.4 从DOM中移除元素 82

4.7 总结 82

4.8 习题 83

第5章 JavaScript数据存储 84

5.1 变量 84

5.1.1 字符串 85

5.1.2 数值 86

5.1.3 Boolean 87

5.1.4 与变量相关的性能问题 87

5.2 数组 88

5.2.1 基本数组 88

5.2.2 关联数组 90

5.2.3 多维数组 90

5.2.4 向数组中新增数据 91

5.2.5 数组对象各方法的使用 92

5.3 join方法 92

5.4 slice方法 93

5.5 shift与unshift方法 94

5.6 pop方法 95

5.7 concat方法 95

5.8 sort方法 96

5.9 对象 96

5.10 JSON 98

5.10.1 使用JSON格式的好处 99

5.10.2 调用API 99

5.11 HTML5标准中的网络数据存储方式 100

5.12 setItem方法 101

5.13 getItem方法 102

5.14 removeItem方法 102

5.14.1 以JSON格式存放大量数据 103

5.14.2 编写健壮的网络存储代码 104

5.15 总结 104

5.16 习题 105

第6章 变量、函数及循环 106

6.1 定义变量 106

6.1.1 将变量集中到一起 107

6.1.2 保留字 107

6.2 函数 109

6.2.1 普通函数 109

6.2.2 匿名函数 110

6.3 作用域 111

6.3.1 回调函数 112

6.3.2 返回数据 113

6.3.3 将函数作为方法使用 115

6.4 循环 116

6.5 条件语句 119

6.5.1 if语句 120

6.5.2 if/else语句 121

6.5.3 switch语句 121

6.5.4 if与switch语句的对比 122

6.6 综合运用本章所学内容 123

6.7 总结 125

6.8 习题 125

第7章 以事件处理实现用户交互 126

7.1 设置事件处理程序 127

7.1.1 事件处理器 128

7.1.2 事件监听器 129

7.1.3 事件绑定 131

7.1.4 解除事件绑定 133

7.2 鼠标与键盘事件 133

7.2.1 click事件 136

7.2.2 focus与blur事件 138

7.2.3 易访问性 139

7.2.4 change事件 139

7.2.5 mouseover与mouseout事件(处理鼠标悬停) 140

7.2.6 submit事件 141

7.2.7 阻止浏览器的默认行为 143

7.2.8 keydown、keypress与keyup事件 144

7.2.9 本节代码汇总 144

7.3 触摸及方向变换事件 147

7.3.1 touchstart与touchend事件 148

7.3.2 touchmove事件 149

7.3.3 orientationchange事件 150

7.3.4 支持触摸事件的设备 151

7.4 触摸事件相关代码汇总 151

7.5 总结 152

7.6 习题 153

第8章 通过Ajax与服务器通信 154

8.1 Ajax的历史 155

8.1.1 服务器通信 156

8.1.2 XMLHttpRequest对象 157

8.2 创建Ajax调用 159

8.2.1 向服务器发送请求 160

8.2.2 接收服务器传回的数据 163

8.2.3 反复执行Ajax调用 169

8.3 Ajax数据格式 170

8.3.1 XML 170

8.3.2 HTML 172

8.3.3 JSON 173

8.4 Ajax的易访问性 174

8.5 Ajax常见误区 176

8.6 本章代码汇总 178

8.7 Ajax的未来 182

8.8 总结 183

8.9 习题 184

第9章 代码组织方式 185

9.1 通用代码风格规范 186

9.1.1 作用域 187

9.1.2 在遇到错误时尽快终止 189

9.1.3 用户体验 191

9.2 代码设计 191

9.2.1 文件与目录结构 192

9.2.2 文档内的脚本 193

9.2.3 变量声明 194

9.2.4 变量与函数的命名 196

9.2.5 注释 196

9.2.6 缩进 198

9.2.7 空格 199

9.2.8 语句内间隔 200

9.2.9 断行 201

9.2.10 数学运算与操作符 202

9.2.11 eval()的用法 203

9.2.12 不宜制定过于死板的代码风格 205

9.3 代码结构 206

9.3.1 函数 206

9.3.2 匿名函数 207

9.3.3 以变量形式出现的函数 208

9.3.4 以方法形式出现的函数 209

9.3.5 JavaScript开发模式 210

9.4 总结 214

9.5 习题 215

第10章 用程序库更便捷地编写JavaScript代码 216

10.1 JavaScript程序库基础 217

10.1.1 程序库的学习过程 218

10.1.2 语法 219

10.1.3 专注于目标 219

10.1.4 创造捷径 220

10.1.5 解决浏览器兼容性问题 221

10.1.6 流行的程序库 222

10.2 jQuery基础知识 227

10.2.1 document.ready 229

10.2.2 选择器 229

10.2.3 遍历DOM 231

10.2.4 添加样式信息 232

10.2.5 事件绑定 233

10.2.6 动画 234

10.3 jQuery中的非基础知识 234

10.3.1 使用jQuery库执行Ajax调用 235

10.3.2 用jQuery遍历数据 237

10.3.3 函数链 238

10.4 以插件扩展程序库 240

10.5 使用程序库的好处 242

10.5.1 流行度与社区支持度 242

10.5.2 高效代码 244

10.6 使用程序库的缺点 245

10.6.1 开销 245

10.6.2 性能 245

10.6.3 对程序库的过分依赖及其寿命问题 246

10.7 微型程序库的使用 246

10.7.1 微型程序库的优点 247

10.7.2 微型程序库的缺点 248

10.8 总结 249

10.9 习题 249

第11章 HTML5 JavaScript API 250

11.1 HTML5是什么 251

11.2 新标记(新HTML元素) 251

11.2.1 创建更好的语义 252

11.2.2 构建更易访问的内容 252

11.3 JavaScript API 255

11.3.1 navigator对象 255

11.3.2 地理位置API 256

11.3.3 音频与视频 258

11.3.4 History API 261

11.3.5 工作线程 266

11.4 Device API 272

11.4.1 电池状态API 273

11.4.2 震动API 275

11.4.3 网络信息API 276

11.5 通过功能检测技术来尝试新的API 279

11.6 总结 280

11.7 习题 280

第12章 JavaScript深入研究指要 281

12.1 对关键知识点的简要回顾 282

12.1.1 渐进增强模型 282

12.1.2 操作DOM 283

12.1.3 数据存储 285

12.1.4 服务器通信 287

12.2 适合网站设计师的JavaScript研究方向 288

12.2.1 高级界面设计 288

12.2.2 用JavaScript代码操控CSS渐变效果 293

12.2.3 与桌面操作系统交互 297

12.3 适合网站开发者的JavaScript研究方向 302

12.3.1 JavaScript模板 302

12.3.2 通过Node.js库以JavaScript语言实现服务器程序 308

12.4 总结 311

12.5 习题 311

参考答案 312