|
|
51CTO旗下网站
|
|
移动端

目录

《JavaScript忍者秘籍(第2版)》本书从JavaScript语言及最重要的特性谈起,由浅入深地探讨了函数、作用域、闭包、生成器函数、对象、数组、模块化、JavaScript与Web页面的交互以及事件等主题,引导读者更加深入地了解JavaScript的方方面面,充分展示了JavaScript语言的各种特性。本节为目录。

作者:一心一译前端小组 译来源:人民邮电出版社|2018-03-06 14:19

目录

第1 部分 热身
第1 章 无处不在的
JavaScript 3
1.1 “理解”JavaScript 语言 4
1.1.1 JavaScript 是如何发展
的 5
1.1.2 如今的转换编译器已经能
让我们体验未来的
JavaScript 6
1.2 理解浏览器 6
1.3 使用当前的最佳实践 7
1.3.1 调试 8
1.3.2 测试 8
1.3.3 性能分析 9
1.4 提高跨平台开发能力 10
1.5 小结 11
第2 章 运行时的页面构建
过程 13
2.1 生命周期概览 14
2.2 页面构建阶段 17
2.2.1 HTML 解析和DOM
构建 18
2.2.2 执行JavaScript 代码 19
2.3 事件处理 23
2.3.1 事件处理器概览 23
2.3.2 注册事件处理器 25
2.3.3 处理事件 26
2.4 小结 28
2.5 练习 29
第2 部分 理解函数
第3 章 新手的第一堂函数
课:定义与参数 33
3.1 函数式的不同点到底是什
么 34
3.1.1 函数是第一类对象 35
3.1.2 回调函数 36
3.2 函数作为对象的乐趣 39
3.2.1 存储函数 40
3.2.2 自记忆函数 41
3.3 函数定义 43
3.3.1 函数声明和函数表达
式 44
3.3.2 箭头函数 48
3.4 函数的实参和形参 50
3.4.1 剩余参数 52
3.4.2 默认参数 53
3.5 小结 56
3.6 练习 57
第4 章 函数进阶:理解函数
调用 59
4.1 使用隐式函数参数 60
4.1.1 arguments 参数 60
4.1.2 this 参数:函数上下文 65
4.2 函数调用 65
4.2.1 作为函数直接被
调用 66
4.2.2 作为方法被调用 67
4.2.3 作为构造函数调用 70
4.2.4 使用apply 和call 方法
调用 75
4.3 解决函数上下文的
问题 81
4.3.1 使用箭头函数绕过函数上
下文 81
4.3.2 使用bind 方法 85
4.4 小结 86
4.5 练习 86
第5 章 精通函数:闭包和
作用域 89
5.1 理解闭包 90
5.2 使用闭包 93
5.2.1 封装私有变量 93
5.2.2 回调函数 95
5.3 通过执行上下文来跟踪
代码 98
5.4 使用词法环境跟踪变量的
作用域 101
5.4.1 代码嵌套 101
5.4.2 代码嵌套与词法环境 102
5.5 理解JavaScript 的变量
类型 104
5.5.1 变量可变性 104
5.5.2 定义变量的关键字与词法
环境 107
5.5.3 在词法环境中注册标
识符 111
5.6 研究闭包的工作
原理 114
5.6.1 回顾使用闭包模拟私有变
量的代码 115
5.6.2 私有变量的警告 118
5.6.3 回顾闭包和回调函数的
例子 119
5.7 小结 122
5.8 练习 122
第6 章 未来的函数:生成器和
promise 125
6.1 使用生成器和promise 编
写优雅的异步代码 126
6.2 使用生成器函数 127
6.2.1 通过迭代器对象控制
生成器 129
6.2.2 使用生成器 133
6.2.3 与生成器交互 136
6.2.4 探索生成器内部
构成 139
6.3 使用promise 145
6.3.1 理解简单回调函数所带来
的问题 146
6.3.2 深入研究promise 149
6.3.3 拒绝promise 151
6.3.4 创建第一个真实promise
案例 153
6.3.5 链式调用promise 155
6.3.6 等待多个promise 156
6.3.7 promise 竞赛 156
6.4 把生成器和promise 相
结合 157
6.5 小结 161
6.6 练习 161
第3 部分 深入钻研对象,强化代码
第7 章 面向对象与原型 167
7.1 理解原型 168
7.2 对象构造器与原型 171
7.2.1 实例属性 173
7.2.2 JavaScript 动态特性的副作
用 176
7.2.3 通过构造函数实现对象类
型 179
7.3 实现继承 180
7.3.1 重写constructor 属性的
问题 184
7.3.2 instanceof 操作符 187
7.4 在ES6 使用JavaScript 的
class 189
7.4.1 使用关键字class 190
7.4.2 实现继承 193
7.5 小结 195
7.6 练习 196
第8 章 控制对象的访问 199
8.1 使用getter 与setter 控制属
性访问 200
8.1.1 定义getter 和setter 201
8.1.2 使用getter 与setter 校验属
性值 207
8.1.3 使用getter 与setter 定义如
何计算属性值 208
8.2 使用代理控制访问 210
8.2.1 使用代理记录日志 213
8.2.2 使用代理检测性能 215
8.2.3 使用代理自动填充
属性 216
8.2.4 使用代理实现负数组
索引 218
8.2.5 代理的性能消耗 220
8.3 小结 221
8.4 练习 222
第9 章 处理集合 225
9.1 数组 225
9.1.1 创建数组 226
9.1.2 在数组两端添加、删除
元素 228
9.1.3 在数组任意位置添加、删除
元素 230
9.1.4 数组常用操作 232
9.1.5 复用内置的数组函数 243
9.2 Map 244
9.2.1 别把对象当做Map 245
9.2.2 创建map 248
9.2.3 遍历map 250
9.3 Set 251
9.3.1 创建Set 253
9.3.2 并集 254
9.3.3 交集 255
9.3.4 差集 256
9.4 小结 256
9.5 练习 257
第10 章 正则表达式 259
10.1 为什么需要正则
表达式 260
10.2 正则表达式进阶 261
10.2.1 正则表达式说明 261
10.2.2 术语和操作符 262
10.3 编译正则表达式 266
10.4 捕获匹配的片段 268
10.4.1 执行简单捕获 268
10.4.2 使用全局表达式进行
匹配 270
10.4.3 捕获的引用 271
10.4.4 未捕获的分组 272
10.5 利用函数进行替换 273
10.6 使用正则表达式解决常
见的问题 275
10.6.1 匹配换行 275
10.6.2 匹配Unicode 字符 276
10.6.3 匹配转义字符 276
10.7 小结 277
10.8 练习 278
第11 章 代码模块化 281
11.1 在JavaScript ES6 之前的
版本中模块化代码 282
11.1.1 使用对象、闭包和立即执
行函数实现模块 282
11.1.2 使用AMD 和CommonJS
模块化JavaScript
应用 289
11.2 ES6 模块 291
11.3 小结 297
11.4 练习 298
第4 部分 洞悉浏览器
第12 章 DOM 操作 303
12.1 向DOM 中注入
HTML 304
12.1.1 将HTML 字符串转换
成DOM 305
12.1.2 将DOM 元素插入到文档
中 309
12.2 DOM 的特性和
属性 311
12.3 令人头疼的样式
特性 313
12.3.1 样式在何处 314
12.3.2 样式属性命名 316
12.3.3 获取计算后样式 317
12.3.4 转换像素值 320
12.3.5 测量元素的高度和
宽度 321
12.4 避免布局抖动 326
12.5 小结 328
12.6 练习 329
第13 章 历久弥新的事件 331
13.1 深入事件循环 332
13.1.1 仅含宏任务的示例 335
13.1.2 同时含有宏任务和微任务
的示例 338
13.2 玩转计时器:延迟执行和
间隔执行 342
13.2.1 在事件循环中执行计
时器 343
13.2.2 处理计算复杂度高的
任务 348
13.3 处理事件 351
13.3.1 通过DOM 代理事件 352
13.3.2 自定义事件 358
13.4 小结 361
13.5 练习 362
第14 章 跨浏览器开发
技巧 365
14.1 跨浏览器注意事项 366
14.2 五大开发问题 368
14.2.1 浏览器的bug 和
差异 369
14.2.2 浏览器的bug 修复 369
14.2.3 外部代码和标记 370
14.2.4 回归 373
14.3 实现策略 374
14.3.1 安全的跨浏览器修复
方法 375
14.3.2 特性检测和垫片 375
14.3.3 不可测试的浏览器
问题 378
14.4 减少假设 379
14.5 小结 380
14.6 练习 381
附录A ES6 附加特性 383
附录B 测试与调试的武器 389
附录C 习题答案 407


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Cisco网络技术教程(第2版)

本书作为思科认证体系中的入门级教材,主要讲述了网络的基本知识和思科设备的基本命令,以及路由、交换等深层次网络知识的入门知识,其体系...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊