你不知道的JavaScript(套装共3册)

你不知道的JavaScript(套装共3册)
作 者: 辛普森
出版社: 人民邮电出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Kyle Simpson 推崇开放的互联网,对JavaScript、HTML5、实时/端对端通信和Web性能有深入研究。他是技术书作家、技术培训师、讲师和开源社区的活跃成员。【译者简介】 单业,计算机专业硕士,软件工程师,曾供职于多家软件公司,从事软件开发工作,现居于上海。译有《你不知道的JavaScript(中卷)》。

内容简介

《你不知道的JavaScript(上卷)》 很多人对JavaScript这门语言的印象都是简单易学,很容易上手。虽然JavaScript语言本身有很多复杂的概念,但语言的使用者不必深入理解这些概念就可以编写出功能全面的应用。殊不知,这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解它们。在本书中,我们要直面当前JavaScript开 发者“不求甚解”的大趋势,深入理解语言内部的机制。《你不知道的JavaScript(上卷)》既适合JavaScript语言初学者阅读,又适合经验丰富的JavaScript开发人员深入学习。《你不知道的JavaScript 中卷》 JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其中卷,主要介绍了类型、语法、异步和性能。《你不知道的JavaScript 下卷》 JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其下卷,主要介绍了JavaScript入门知识和对ES6及未来发展趋势的展望。本书既适合JavaScript语言初学者了解其精髓,又适合经验丰富的JavaScript开发人员深入学习。

图书目录

《你不知道的JavaScript(上卷)》

目录

前言  VIII

第 一部分 作用域和闭包

序  2

第 1章 作用域是什么  4

1.1 编译原理  4

1.2 理解作用域  6

1.3 作用域嵌套  10

1.4 异常  12

1.5 小结  12

第 2章 词法作用域  14

2.1 词法阶段  14

2.2 欺骗词法  17

2.3 小结  21

第3章 函数作用域和块作用域  22

3.1 函数中的作用域  22

3.2 隐藏内部实现  23

3.3 函数作用域  26

3.4 块作用域  30

3.5 小结  36

第4章 提升  37

4.1 先有鸡还是先有蛋  37

4.2 编译器再度来袭  38

4.3 函数优先  40

4.4 小结  41

第5章 作用域闭包  43

5.1 启示  43

5.2 实质问题  44

5.3 现在我懂了  47

5.4 循环和闭包  48

5.5 模块  51

5.6 小结  57

附录A 动态作用域  58

附录B 块作用域的替代方案  60

附录C this词法  64

附录D 致谢  67

第 二部分 this和对象原型

序  72

第 1章 关于this  74

1.1 为什么要用this  74

1.2 误解  76

1.3 this到底是什么  80

1.4 小结  80

第 2章 this全面解析  82

2.1 调用位置  82

2.2 绑定规则  83

2.3 优先级  91

2.4 绑定例外  95

2.5 this词法  99

2.6 小结  101

第3章 对象  102

3.1 语法  102

3.2 类型  103

3.3 内容  105

3.4 遍历  121

3.5 小结  124

第4章 混合对象“类”  126

4.1 类理论  126

4.2 类的机制  128

4.3 类的继承  130

4.4 混入  134

4.5 小结  140

第5章 原型  142

5.1 [[Prototype]]  142

5.2 “类”  146

5.3 (原型)继承  153

5.4 对象关联  159

5.5 小结  162

第6章 行为委托  164

6.1 面向委托的设计  165

6.2 类与对象  173

6.3 更简洁的设计  178

6.4 更好的语法  182

6.5 内省  185

6.6 小结  187

附录A ES6中的Class  189

《你不知道的JavaScript 中卷》

目录

前言 XI

第 一部分 类型和语法

序 2

第 1 章 类型 3

1.1 类型 4

1.2 内置类型 4

1.3 值和类型 6

1.4 小结 10

第 2 章 值 11

2.1 数组 11

2.2 字符串 13

2.3 数字 15

2.4 特殊数值 21

2.5 值和引用 28

2.6 小结 31

第3 章 原生函数 33

3.1 内部属性[[Class]] 34

3.2 封装对象包装 35

3.3 拆封 36

3.4 原生函数作为构造函数 37

3.5 小结 45

第4 章 强制类型转换 46

4.1 值类型转换 46

4.2 抽象值操作 47

4.3 显式强制类型转换 56

4.4 隐式强制类型转换 67

4.5 宽松相等和严格相等 77

4.6 抽象关系比较 89

4.7 小结 91

第5 章 语法 92

5.1 语句和表达式 92

5.2 运算符优先级 104

5.3 自动分号 111

5.4 错误 113

5.5 函数参数 115

5.6 try..finally 117

5.7 switch 120

5.8 小结 122

附录A 混合环境JavaScript 123

第 二部分 异步和性能

序 136

第 1 章 异步:现在与将来 138

1.1 分块的程序 139

1.2 事件循环 141

1.3 并行线程 143

1.4 并发 148

1.5 任务 156

1.6 语句顺序 157

1.7 小结 159

第 2 章 回调 161

2.1 continuation 162

2.2 顺序的大脑 163

2.3 信任问题 169

2.4 省点回调 173

2.5 小结 176

第3 章 Promise 178

3.1 什么是Promise 179

3.2 具有then 方法的鸭子类型 188

3.3 Promise 信任问题 190

3.4 链式流 198

3.5 错误处理 206

3.6 Promise 模式 212

3.7 Promise API 概述 219

3.8 Promise 局限性 222

3.9 小结 233

第4 章 生成器 234

4.1 打破完整运行 234

4.2 生成器产生值 243

4.3 异步迭代生成器 250

4.4 生成器+Promise 254

4.5 生成器委托 262

4.6 生成器并发 269

4.7 形实转换程序 273

4.8 ES6 之前的生成器 279

4.9 小结 285

第5 章 程序性能 287

5.1 Web Worker 288

5.2 SIMD 293

5.3 asm.js 295

5.4 小结 298

第6 章 性能测试与调优 299

6.1 性能测试 99

6.2 环境为王 303

6.3 jsPerf.com 305

6.4 写好测试 309

6.5 微性能 309

6.6 尾调用优化 316

6.7 小结 318

附录A asynquence 库 319

附录B 高 级异步模式 339

《你不知道的JavaScript 下卷》

前言 xi

致谢 xvii

第 一部分 起步上路

序 2

第 1 章 深入编程 4

1.1 代码 4

1.2 表达式 5

1.3 实践 6

1.4 运算符 9

1.5 值与类型 11

1.6 代码注释 13

1.7 变量 14

1.8 块 16

1.9 条件判断 17

1.10 循环 18

1.11 函数 20

1.12 实践 23

1.13 小结 25

第 2 章 深入JavaScript 26

2.1 值与类型 26

2.2 变量 35

2.3 条件判断 37

2.4 严格模式 39

2.5 作为值的函数 40

2.6 this标识符 44

2.7 原型 46

2.8 旧与新 47

2.9 非JavaScript 49

2.10 小结 50

第 3 章 深入“你不知道的JavaScript”系列 51

3.1 作用域和闭包 51

3.2 this和对象原型 52

3.3 类型和语法 53

3.4 异步和性能 53

3.5 ES6及更新版本 54

3.6 小结 55

第 二部分 ES6及更新版本

序 58

第 1 章 ES?现在与未来 59

1.1 版本 60

1.2 transpiling 61

1.3 小结 63

第 2 章 语法 64

2.1 块作用域声明 64

2.2 spread/rest 71

2.3 默认参数值 73

2.4 解构 77

2.5 太多,太少,刚刚好 83

2.6 对象字面量扩展 90

2.7 模板字面量 98

2.8 箭头函数 103

2.9 for..of循环 109

2.10 正则表达式 111

2.11 数字字面量扩展 117

2.12 Unicode 118

2.13 符号 123

2.14 小结 128

第 3 章 代码组织 129

3.1 迭代器 129

3.2 生成器 138

3.3 模块 153

3.4 类 167

3.5 小结 176

第 4 章 异步流控制 177

4.1 Promise 177

4.2 生成器 + Promise 183

4.3 小结 185

第 5 章 集合 187

5.1 TypedArray 187

5.2 Map 192

5.3 WeakMap 195

5.4 Set 196

5.5 WeakSet 198

5.6 小结 199

第 6 章 新增API 200

6.1 Array 200

6.2 Object 209

6.3 Math 212

6.4 Number 214

6.4.1 静态属性 214

6.5 字符串 216

6.6 小结 218

第 7 章 元编程 219

7.1 函数名称 219

7.2 元属性 222

7.3 公开符号 223

7.4 代理 228

7.5 Reflect API 240

7.6 特性测试 243

7.7 尾递归调用(Tail Call Optimization,TCO) 245

7.8 小结 251

第 8 章 ES6之后 253

8.1 异步函数 254

8.2 Object.observe(..) 257

8.3 幂运算符 260

8.4 对象属性与... 260

8.5 Array#includes 261

8.6 SIMD 262

8.7 WebAssembly (WASM) 262

8.8 小结 264