欢迎光临
免费的PDF电子书下载网站

JavaScript语法简明手册 PDF下载

编辑推荐

想学JavaScript,但不想"啃"大部头? 既想了解经典特性,又想与时俱进? 拒绝枯燥?适合视觉型学习? 以上需求通通满足! 1.适合零基础入门 浅显易懂,为进阶打好基础。适合放在手边,随时翻阅。 2.精选语法要点,内容实用 涵盖常用特性,如模板字符串、箭头函数、对象解构、生成器,以及ES10新增的内容,包括基本数据类型bigint、稳定的数组排序算法、扁平化多维数组。 3.彩色代码图,重点突出 超过200幅彩色代码图和示意图,直观呈现抽象概念,为你绘制有趣的JavaScript学习路线。

内容简介

本书包含大量精心绘制的示意图和丰富的示例代码,讲解了常用的JavaScript语法特性,为JavaScript初学者绘制了一条平缓的学习曲线。本书涵盖原生数据类型、强制类型转换、作用域、闭包、运算符、面向对象编程、事件循环机制等内容。这些内容由浅入深,适合初学者按顺序阅读。本书还突出了ES10引入的一些新特性,便于有进阶需要的读者翻阅。

作者简介

【作者简介】 格雷格·赛德尼科夫(Greg Sidelnikov),以“JavaScript老师”自称,从2004年开始编写和出版各类程序设计教程,涉及JavaScript、CSS、jQuery、Node API等,其中一些被加州大学欧文分校等学校采用。 【译者简介】 侯振龙,管理科学与工程专业硕士,软件开发工程师,具有10年软件开发经验,现就职于某外资企业。

JavaScript语法简明手册 PDF下载

目录

第 1章 讲述形式 1

1.1 理论 1

1.2 实例 1

1.3 代码清单 1

1.4 示意图 2

1.4.1 抽象概念 2

1.4.2 代码片段 3

1.5 主要内容 3

1.6 注意事项 4

第 2章 Chrome控制台 5

2.1 copy函数 5

2.2 console.dir 5

2.3 console.error 6

2.4 console.time和console.timeEnd 7

2.5 console.clear 7

2.6 打印对象 8

第3章 欢迎使用JavaScript 9

3.1 入口点 9

3.1.1 DOMContentLoaded 9

3.1.2 注意事项 10

3.1.3 导入外部脚本 11

3.1.4 导入与导出 12

3.2 严格模式 14

3.2.1 对一个作用域开启严格模式 14

3.2.2 严格模式小结 15

3.3 字面量 15

3.4 变量 17

3.4.1 值占位符 17

3.4.2 动态类型 18

3.4.3 定义或声明 18

3.5 引用传递 18

3.6 作用域的怪癖 19

3.6.1 怪癖1:函数内的let和const与全局变量 19

3.6.2 怪癖2:var依附于window/this对象,而let和const不会 20

第4章 语句 21

4.1 求值语句 21

4.2 表达式 22

第5章 基本类型 23

5.1 基本类型 23

5.1.1 boolean 24

5.1.2 null 24

5.1.3 undefined 24

5.1.4 number 25

5.1.5 bigint 26

5.1.6 string 27

5.2 模板字符串 28

5.3 symbol 30

5.4 构造函数和实例 33

5.5 对基本类型执行方法 35

5.5.1 使用括号访问对象属性 35

5.5.2 连接方法 36

第6章 强制类型转换 37

6.1 强制类型转换示例 37

6.1.1 构造函数中的强制类型转换 38

6.1.2 强制类型转换详解 39

6.2 多个值相加 42

6.3 运算符优先级 43

6.4 字符串与数值的比较 43

6.5 运算符优先级和结合性一览表 45

6.6 左值和右值 47

6.6.1 赋值运算符 47

6.6.2 算术加法运算符 47

6.7 null与undefined 47

第7章 作用域 50

7.1 变量定义 50

7.1.1 区分大小写 50

7.1.2 定义 50

7.2 变量提升 51

7.3 函数提升 53

7.4 变量类型 56

7.5 作用域可见性的区别 56

7.5.1 在全局作用域中 56

7.5.2 在函数作用域中 57

7.5.3 闭包 58

7.5.4 在块级作用域中 59

7.5.5 在类中 59

7.6 const 60

7.6.1 const和数组 61

7.6.2 const和对象字面量 61

7.6.3 const小结 62

7.7 注意事项 62

第8章 运算符 63

8.1 算术运算符 63

8.2 赋值运算符 65

8.3 字符串运算符 65

8.4 比较运算符 65

8.5 逻辑运算符 66

8.6 位运算符 67

8.7 typeof运算符 67

8.8 三元运算符 68

8.9 delete 68

8.10 in 69

第9章 .rest和.spread 71

9.1 rest属性 71

9.2 spread属性 72

9.3 .rest和.spread 73

9.3.1 语法详解 73

9.3.2 编写带rest参数的sum()函数 75

9.3.3 使用spread来扁平化数组 76

9.3.4 在数组、对象或函数参数之外使用spread 76

9.4 解构赋值 77

9.4.1 使用spread合并对象 79

9.4.2 使用spread合并数组 80

第 10章 闭包 81

10.1 闭包入门 81

10.1.1 什么是闭包 81

10.1.2 漂亮的闭包 84

10.1.3 闭包小结 86

10.2 参数个数 87

10.3 柯里化 87

第 11章 循环 89

11.1 JavaScript中的循环类型 89

11.1.1 递增和递减 89

11.1.2 动态生成HTML元素 90

11.1.3 渲染列表 90

11.1.4 动态排序的表格 90

11.1.5 注意事项 90

11.2 for循环 91

11.2.1 基于零索引的计数器 91

11.2.2 无限for循环 91

11.2.3 多条语句 92

11.2.4 递增数字 92

11.2.5 for循环和let作用域 92

11.2.6 嵌套for循环 93

11.2.7 循环的长度 93

11.2.8 跳步 94

11.2.9 提前中断 94

11.2.10 自定义中断条件 94

11.2.11 跳转到标签 95

11.2.12 跳出标记的块级作用域 96

11.3 for.of循环 96

11.3.1 for.of和生成器 97

11.3.2 for.of和字符串 98

11.3.3 for.of和数组 98

11.3.4 for.of和对象 99

11.3.5 for.of循环和转换的可迭代对象 99

11.4 for.in循环 100

11.5 while循环 100

第 12章 数组和字符串 102

12.1 Array.prototype.sort 102

12.2 Array.forEach 103

12.3 Array.every 104

12.4 Array.some 105

12.5 Array.filter 106

12.6 Array.map 106

12.7 Array.reduce 107

12.7.1 Array.reduce与Array.filter 107

12.7.2 更新数据库中的对象属性 107

12.7.3 reduce的实际应用 107

12.7.4 注意事项 108

12.8 Array.flat 109

12.9 Array.flatMap 109

12.10 String.prototype.matchAll 109

12.10.1 使用全局匹配符/g 110

12.10.2 正则表达式的捕获组 110

12.10.3 使用matchAll的理由 112

12.10.4 matchAll的工作方式 112

12.10.5 使用matchAll的捕获组示例 112

12.10.6 注意事项 113

12.11 比较两个对象 113

12.11.1 编写arrcmp 115

12.11.2 改进objcmp 116

12.11.3 针对更复杂的对象测试objcmp 117

12.11.4 objcmp小结 119

第 13章 函数 120

13.1 函数 120

13.1.1 函数结构 120

13.1.2 匿名函数 121

13.1.3 将函数赋给变量 122

13.2 this关键字的来源 125

第 14章 高阶函数 126

14.1 理论 126

14.1.1 抽象 126

14.1.2 编写第 一个高阶函数 126

14.2 定义 127

14.3 抽象 127

14.4 迭代器 128

14.4.1 逐行解析map函数 129

14.4.2 调用自定义的map函数 130

14.4.3 调用Array.map 131

14.4.4 for循环怎么了 131

14.5 注意事项 131

第 15章 箭头函数 132

15.1 箭头函数 132

15.1.1 无return的返回 133

15.1.2 作为事件的箭头函数 133

15.2 箭头函数的结构 134

15.2.1 实参 135

15.2.2 从箭头函数返回 135

15.3 ES风格函数的相似性 136

15.3.1 无this绑定 137

15.3.2 无arguments对象 137

15.3.3 无构造函数 137

15.3.4 传统函数和箭头函数用作事件回调函数 138

15.3.5 继承的this语境 139

第 16章 动态创建HTML元素 140

16.1 设置CSS样式 140

16.2 使用appendChild方法向DOM中添加元素 141

16.2.1 document.body 141

16.2.2 getElementById 142

16.2.3 querySelector 142

16.3 编写函数来创建元素 142

16.3.1 函数参数 142

16.3.2 函数体 143

16.3.3 导入并使用absolute函数 145

16.4 使用构造函数来创建对象 146

第 17章 原型 147

17.1 原型 147

17.1.1 对象字面量的原型 148

17.1.2 原型链接 149

17.1.3 原型链 150

17.1.4 查找方法 150

17.1.5 数组方法 151

17.2 父对象 152

17.2.1 扩展自己的对象 152

17.2.2 constructor属性 153

17.2.3 Function 154

17.3 原型实践 155

17.3.1 对象字面量 155

17.3.2 使用Function构造函数 156

17.3.3 原型 157

17.3.4 使用Object.create来创建对象 158

17.3.5 示例继续 159

17.3.6 构造函数 160

17.3.7 new运算符 161

17.3.8 class关键字 162

第 18章 面向对象编程 164

18.1 Ingredient 164

18.2 FoodFactory 164

18.3 Vessel 164

18.4 Burner 165

18.5 灶台类型与多态炉灶 166

18.6 类定义 166

18.6.1 print.js 167

18.6.2 Ingredient 167

18.6.3 FoodFactory 168

18.6.4 Fridge 168

18.6.5 convert_energy_to_heat 169

18.6.6 Vessel 170

18.6.7 Burner 172

18.6.8 Range 172

18.7 组装 175

18.7.1 定义成分 176

18.7.2 实例化灶台对象 177

第 19章 事件 179

19.1 浏览器事件 179

19.2 合成事件 179

19.2.1 事件对象 179

19.2.2 事件捕获与事件冒泡 180

19.2.3 dispatchEvent 181

19.2.4 removeEventListener 181

19.2.5 CustomEvent对象 182

19.2.6 setTimeout 183

19.2.7 setInterval 184

19.3 拦截浏览器事件 184

19.4 显示鼠标位置 185

19.5 通用的鼠标事件类 186

19.5.1 包含和使用Mouse类 187

19.5.2 解析Mouse类 188

第 20章 网络请求 190

20.1 回调地狱 192

20.2 Promise 193

20.2.1 Promise.resolve 193

20.2.2 Promise.reject 195

20.2.3 组装 195

20.2.4 Promise.all 196

20.2.5 Promise解析 197

20.2.6 Promise小结 197

20.3 axios 198

20.4 FetchAPI 198

20.5 获取POST负载 199

20.6 async/await 200

20.6.1 async关键字的基础 200

20.6.2 await 202

20.6.3 async/await中的try-catch 202

20.6.4 小结 203

20.7 生成器 204

20.7.1 yield 204

20.7.2 捕获错误 205

第 21章 事件循环 206

第 22章 调用栈 209

22.1 什么是调用栈 209

22.2 执行语境 211

22.2.1 什么是执行语境 211

22.2.2 根执行语境 211

22.2.3 工作方式 211

22.3 代码中的执行语境 211

22.3.1 window与全局作用域 212

22.3.2 调用栈 212

22.3.3 call、bind、apply 214

22.3.4 栈溢出 214

JavaScript语法简明手册 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:JavaScript语法简明手册