《JAVASCRIPT编程精解 原书第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)马尔奇·哈弗贝克(MARIJN HAVERBEKE)著;卢誉声译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:9787111518600
  • 页数:326 页
图书介绍:本书包括三个部分。前11章讨论JavaScript语言本身的一些特性。接下来的8章讨论网页浏览器和JavaScript在网页编程中的实践。最后两个章节专门讲解另一个使用JavaScript编程的环境——Node.js。

第一部分 JavaScript编程语言 2

第1章 值、类型和运算符 2

1.1 值 2

1.2 数字 3

1.3 字符串 5

1.4 一元运算符 6

1.5 布尔值 6

1.6 未定义值 8

1.7 自动类型转换 8

1.8 本章小结 10

第2章 程序结构 11

2.1 表达式和语句 11

2.2 变量 12

2.3 关键字和保留字 13

2.4 环境 14

2.5 函数 14

2.6 console.log函数 14

2.7 返回值 15

2.8 prompt和confirm函数 15

2.9 控制流 16

2.10 条件执行 16

2.11 while和do循环 17

2.12 代码缩进 19

2.13 for循环 19

2.14 跳出循环 20

2.15 更新变量的简便方法 21

2.16 switch条件分支 21

2.1 7大写 22

2.18 注释 22

2.19 本章小结 23

2.20 习题 23

第3章 函数 25

3.1 定义函数 25

3.2 参数和作用域 26

3.3 嵌套作用域 27

3.4 函数值 28

3.5 符号声明 29

3.6 调用栈 29

3.7 可选参数 31

3.8 闭包 31

3.9 递归 32

3.10 添加新函数 35

3.11 函数及其副作用 37

3.12 本章小结 37

3.13 习题 38

第4章 数据结构:对象和数组 39

4.1 松鼠人 39

4.2 数据集 40

4.3 属性 41

4.4 方法 41

4.5 对象 42

4.6 可变性 44

4.7 松鼠人的记录 45

4.8 计算关联性 47

4.9 对象映射 48

4.10 分析结果 49

4.1 1详解数组 50

4.12 字符串及其属性 51

4.13 arguments对象 52

4.14 Math对象 53

4.15 全局对象 55

4.16 本章小结 55

4.17 习题 55

第5章 高阶函数 58

5.1 抽象 59

5.2 数组遍历抽象 59

5.3 高阶函数 61

5.4 参数传递 62

5.5 JSON 63

5.6 数组过滤 64

5.7 使用map函数转换数组 65

5.8 使用reduce进行数据汇总 65

5.9 可组合性 66

5.10 性能开销 67

5.11 曾曾曾曾……祖父 67

5.12 绑定 70

5.13 本章小结 70

5.14 习题 71

第6章 深入理解对象 72

6.1 历史 72

6.2 方法 73

6.3 原型 74

6.4 构造函数 75

6.5 覆盖继承的属性 76

6.6 原型污染 77

6.7 无原型对象 79

6.8 多态 79

6.9 绘制表格 80

6.10 Getter与Setter 84

6.11 继承 85

6.12 instanceof运算符 87

6.13 本章小结 87

6.14 习题 88

第7章 项目实战:构建电子生态系统 89

7.1 定义 89

7.2 描述世界 90

7.3 动物的编程接口 91

7.4 World 对象 93

7.5 this及其作用域 94

7.6 赋予生命 96

7.7 动物的爬行动作 98

7.8 更多动物 98

7.9 更逼真的生态系统仿真 99

7.10 动作处理器 100

7.11 充实这个新世界 102

7.12 让虚拟世界生机盎然 103

7.13 习题 104

第8章 处理缺陷与错误 105

8.1 开发人员造成的问题 105

8.2 严格模式 106

8.3 测试 107

8.4 调试 108

8.5 错误传播 109

8.6 异常 110

8.7 异常后清理 111

8.8 选择性捕获 112

8.9 断言 114

8.10 本章小结 115

8.11 习题 115

第9章 正则表达式 116

9.1 创建正则表达式 116

9.2 匹配测试 117

9.3 匹配字符集 117

9.4 部分模式重复 118

9.5 子表达式分组 119

9.6 匹配和分组 119

9.7 日期类型 120

9.8 单词和字符串边界 121

9.9 选项模式 122

9.10 匹配原理 122

9.11 回溯 123

9.12 replace方法 125

9.13 贪婪模式 126

9.14 动态创建RegExp对象 127

9.15 search方法 128

9.16 lastIndex属性 128

9.17 解析INI文件 129

9.18 国际化字符 131

9.19 本章小结 131

9.20 习题 132

第10章 模块 134

10.1 模块的好处 134

10.2 使用函数作为命名空间 136

10.3 使用对象作为接口 137

10.4 与全局作用域分离 138

10.5 将数据作为代码执行 138

10.6 require函数 139

10.7 模块加载过慢的问题 140

10.8 接口设计 143

10.9 本章小结 144

10.10 习题 145

第11章 项目实战:开发编程语言 147

11.1 解析 147

11.2 代码执行器 150

11.3 特殊形式 151

11.4 环境 153

11.5 函数 154

11.6 编译 155

11.7 站在别人的肩膀上 155

11.8 习题 156

第二部分 在浏览器中使用JavaScript 160

第12章 浏览器中的JavaScript 160

12.1 网络和Internet 160

12.2 Web 161

12.3 HTML 162

12.4 HTML和JavaScript 164

12.5 沙箱 164

12.6 兼容性与浏览器之争 165

第13章 文档对象模型 166

13.1 文档结构 166

13.2 树 167

13.3 标准 168

13.4 通过树结构访问节点 169

13.5 查找元素 170

13.6 修改文档 170

13.7 创建节点 171

13.8 属性 173

13.9 布局 175

13.10 样式 176

13.11 层叠样式 177

13.12 查询选择器 178

13.13 位置与动画 179

13.14 本章小结 181

13.15 习题 181

第14章 处理事件 183

14.1 事件处理器 183

14.2 事件与DOM节点 184

14.3 事件对象 184

14.4 传播 185

14.5 默认动作 186

14.6 按键事件 187

14.7 鼠标点击 188

14.8 鼠标移动 189

14.9 滚动事件 191

14.10 焦点事件 192

14.11 加载事件 192

14.12 脚本执行时间线 193

14.13 设置定时器 193

14.14 降频 194

14.15 本章小结 195

14.16 习题 196

第15章 项目实战:平台游戏 198

15.1 游戏 198

15.2 实现技术 199

15.3 关卡 199

15.4 读取关卡 200

15.5 活动元素 201

15.6 当封装成为负担 203

15.7 绘图 204

15.8 动作与冲突 208

15.9 活动元素与动作 209

15.10 跟踪按键 213

15.11 运行游戏 213

15.12 习题 215

第16章 使用canvas绘图 217

16.1 SVG 217

16.2 canvas元素 218

16.3 填充与描边 219

16.4 路径 220

16.5 曲线 221

16.6 绘制饼状图 224

16.7 文本 225

16.8 图像 225

16.9 变换 227

16.10 存储与清除图像的变换状态 228

16.11 回到游戏 230

16.12 选择图像接口 234

16.13 本章小结 235

16.14 习题 235

第17章 HTTP协议概述 237

17.1 协议简介 237

17.2 浏览器和HTTP 238

17.3 XMLHttpRequest 240

17.4 发送请求 240

17.5 异步请求 241

17.6 获取XML数据 242

17.7 HTTP沙箱 242

17.8 抽象请求 243

17.9 Promise 245

17.10 运用HTTP 247

17.11 安全和HTTPS 247

17.12 本章小结 248

17.13 习题 248

第18章 表单和表单域 250

18.1 域 250

18.2 聚焦 252

18.3 禁用域 252

18.4 作为整体的表单 253

18.5 文本域 254

18.6 选择框和单选框 255

18.7 选择域 256

18.8 文件域 257

18.9 客户端保存数据 259

18.10 本章小结 261

18.11 习题 261

第19章 项目实战:绘图程序 263

19.1 实现 263

19.2 建立DOM 264

19.3 基础 265

19.4 工具选择 265

19.5 颜色和画刷大小 267

19.6 保存 269

19.7 加载图片文件 270

19.8 完成 271

19.9 习题 272

第三部分 高级主题 276

第20章 Node.js 276

20.1 背景 276

20.2 异步性 277

20.3 node命令 278

20.4 模块 278

20.5 使用NPM安装 279

20.6 文件系统模块 281

20.7 HTTP模块 282

20.8 流 283

20.9 简单的文件服务器 284

20.10 错误处理 288

20.11 本章小结 290

20.12 习题 290

第21章 项目实战:技能分享网站 293

21.1 设计 293

21.2 长轮询 294

21.3 HTTP接口 295

21.4 服务器 297

21.5 客户端 303

21.6 习题 309

第22章 JavaScript和性能 311

22.1 分阶段编译 311

22.2 图形布局 312

22.3 定义图 313

22.4 第一个力导向布局函数 314

22.5 性能分析 316

22.6 函数内联 317

22.7 退化回旧式循环 318

22.8 避免工作 319

22.9 产生更少的垃圾 319

22.10 垃圾回收 320

22.11 修改对象 321

22.12 动态类型 322

22.13 本章小结 323

22.14 习题 324