资源名称:Javascript学习指南 第3版

内容简介:

Javascript是目前Web开发领域非常流行的一种编程语言,得到众多IT从业人员和编程爱好者的关注。

本书分为22章,在ES6的基础上,系统地介绍了Javascript的基本语法、语言特性、相关工具、基本对象、技术以及推动现代Javascript开发的范例等方面的知识。本书内容由浅及深,既有变量、控制流、函数等基础内容,又有异步编程、正则表达式等高级知识。

本书适合具备一定Javascript基础知识的读者阅读,也适合从事程序设计工作并想要深入探索Javascript语言的读者阅读。

作者简介:

Ethan Brown是互动营销公司Pop Art的工程总监,负责网站和网络服务的架构和实现,面向从小公司到跨国企业的多种客户。他有着超过20年的编程经验。

资源目录:

第1章 第一个应用 1

1.1 从哪里开始 2

1.2 实用的工具 2

1.2.1 语法高亮 3

1.2.2 括号匹配 3

1.2.3 代码折叠 4

1.2.4 自动补全 4

1.3 关注注释 4

1.4 从这里开始 5

1.5 Javascript控制台 7

1.6 jQuery 8

1.7 绘制图元 8

1.8 自动执行重复任务 10

1.9 处理用户输入 11

1.10 Hello, World 13

第2章 Javascript开发中的常用工具 14

2.1 在当下编写ES6代码 14

2.2 ES6的新特性 15

2.2.1 安装Git 16

2.2.2 终端 16

2.2.3 项目根目录 17

2.2.4 版本控制:Git 17

2.2.5 包管理工具:npm 20

2.2.6 构建工具:Gulp和Grunt 22

2.2.7 项目结构 23

2.3 转换器 24

2.3.1 使用Gulp运行Babel 24

2.3.2 格式审查工具 26

2.4 总结 29

第3章 字面量、变量、常量和数据类型 32

3.1 变量和常量 32

3.2 变量和常量:用哪个 33

3.3 标识符命名 34

3.4 字面量 35

3.5 基本类型和对象 36

3.6 数字 37

3.7 字符串 39

3.8 特殊字符 40

3.8.1 模板字符串 41

3.8.2 多行字符串 42

3.8.3 数字用作字符串 43

3.9 布尔型 43

3.10 符号 43

3.11 null和undefined 44

3.12 对象 44

3.13 Number, String和Boolean对象 47

3.14 数组 47

3.15 对象和数组的拖尾逗号 49

3.16 日期 50

3.17 正则表达式 50

3.18 映射和集合 51

3.19 数据类型转换 51

3.19.1 转换成数字 51

3.19.2 转换成字符串 52

3.19.3 转换成布尔型 52

3.20 总结 53

第4章 控制流 54

4.1 控制流的底层 54

4.1.1 while循环 57

4.1.2 块语句 58

4.1.3 空格 59

4.1.4 辅助方法 60

4.1.5 if else语句 60

4.1.6 do…while循环 62

4.1.7 for循环 63

4.1.8 if语句 64

4.1.9 最后的整合 65

4.2 Javascript中的控制语句 66

4.2.1 控制流异常 67

4.2.2 链式if… else语句 67

4.2.3 元语法 68

4.2.4 其他循环模式 69

4.2.5 switch语句 70

4.2.6 for…in循环 74

4.2.7 for…of循环 74

4.3 实用的控制流模式 74

4.3.1 使用continue减少条件嵌套 75

4.3.2 使用break或return避免不必要的计算 75

4.3.3 在循环结束后使用索引的值 76

4.3.4 列表变动时索引递减 76

4.4 总结 77

第5章 表达式和运算符 78

5.1 运算符 79

5.2 算术运算符 80

5.3 运算符优先级 82

5.4 比较运算符 83

5.5 比较数字 85

5.6 字符串连接 86

5.7 逻辑运算符 87

5.8 与、或和非 88

5.8.1 短路求值 89

5.8.2 非布尔值的逻辑运算符 89

5.8.3 条件运算符 90

5.8.4 逗号运算符 91

5.9 分组运算符 91

5.9.1 位运算符 91

5.9.2 类型判断运算符 93

5.9.3 void运算符 94

5.9.4 赋值运算符 94

5.10 解构赋值 95

5.11 对象和数组运算符 97

5.12 模板字符串中的表达式 97

5.13 表达式和控制流模式 97

5.13.1 将if…else语句转化成条件表达式 98

5.13.2 将if语句转化成短路求值的逻辑或(||)表达式 98

5.14 总结 98

第6章 函数 99

6.1 返回值 100

6.2 引用调用 100

6.3 函数参数 101

6.3.1 参数会让函数有所区别吗 103

6.3.2 解构参数 104

6.3.3 默认参数 105

6.4 函数作为对象属性 105

6.5 this关键字 105

6.6 函数表达式和匿名函数 107

6.7 箭头符号 109

6.8 调用、请求和绑定 110

6.9 总结 112

第7章 作用域 113

7.1 作用域和存在 114

7.2 静态作用域与动态作用域 114

7.3 全局作用域 115

7.4 块作用域 117

7.5 变量屏蔽 117

7.6 函数、闭包和静态作用域 119

7.7 即时调用函数表达式 120

7.8 函数作用域和提升 121

7.9 函数提升 123

7.10 临时死区 124

7.11 严格模式 124

7.12 总结 125

第8章 数组及其处理 126

8.1 数组概览 126

8.2 操作数组内容 127

8.2.1 在起始和末尾添加或删除元素 128

8.2.2 在末尾添加多个元素 128

8.2.3 获取子数组 128

8.2.4 从任意位置添加或删除元素 129

8.2.5 数组内的分割和替换 129

8.2.6 用指定值填充数组 129

8.2.7 数组反转和排序 130

8.3 数组搜索 130

8.4 数组的基本操作:map和filter 133

8.5 数组魔法:reduce 135

8.6 数组方法,已删除或者未定义的元素 138

8.7 字符串连接 138

8.8 总结 139

第9章 对象以及面向对象编程 141

9.1 属性枚举 141

9.1.1 for…in 142

9.1.2 Object.keys 142

9.2 面向对象编程 143

9.2.1 创建类和实例 143

9.2.2 动态属性 145

9.2.3 类即函数 146

9.2.4 原型 147

9.2.5 静态方法 148

9.2.6 继承 149

9.2.7 多态 151

9.2.8 枚举对象属性,回顾 151

9.2.9 字符串表示 152

9.3 多继承、混合类和接口 153

9.4 总结 155

第10章 Maps和Sets 156

10.1 Maps 156

10.2 Weak Maps 158

10.3 Sets 159

10.4 Weak Sets 160

10.5 打破对象习惯 161

第11章 异常和错误处理 162

11.1 Error对象 162

11.2 使用try和catch处理异常 163

11.3 抛出异常 164

11.4 异常处理和调用栈 165

11.5 try…catch… finally 166

11.6 让异常成为例外 167

第12章 迭代器和生成器 168

12.1 迭代协议 170

12.2 生成器 172

12.2.1 yield表达式和双向交流 173

12.2.2 生成器和返回值 175

12.3 总结 175

第13章 函数和抽象思考的力量 176

13.1 函数作为子程序 176

13.2 函数作为有返回值的子程序 177

13.3 函数即…函数 178

13.4 那又如何? 180

13.5 IIEFs和异步代码 182

13.6 函数变量 184

13.6.1 数组中的函数 186

13.6.2 将函数传给函数 187

13.6.3 在函数中返回函数 188

13.7 递归 189

13.8 总结 190

第14章 异步编程 191

14.1 类比 192

14.2 回调 192

14.2.1 setInterval和clearInterval 193

14.2.2 Scope和异步执行 194

14.2.3 错误优先回调 195

14.2.4 回调地狱 196

14.3 Promise 197

14.3.1 创建Promise 198

14.3.2 使用Promise 198

14.3.3 事件 200

14.3.4 Promise链 202

14.3.5 避免不被处理的Promise 203

14.4 生成器 205

14.4.1 向前一步和退后两步 207

14.4.2 不要自己编写生成器运行器 208

14.4.3 生成器运行器中的异常处理 208

14.5 总结 209

第15章 日期和时间 211

15.1 日期、时区、时间戳以及Unix时间 211

15.2 构造Date对象 212

15.3 Moment.js 213

15.4 Javascript中Date的实际用法 214

15.5 构造日期对象 214

15.5.1 在服务端构造日期对象 214

15.5.2 在浏览器中构造Date对象 215

15.6 传递日期 215

15.7 展日期 216

15.8 日期的组成 217

15.9 日期的比较 218

15.10 日期的四则运算 218

15.11 用户友好的相对日期 219

15.12 总结 220

第16章 数学运算 221

16.1 格式化数字 221

16.1.1 固定小数 222

16.1.2 指数符号 222

16.1.3 固定精度 222

16.1.4 不同进制 223

16.1.5 进一步格式化数字 223

16.2 常量 224

16.3 代数函数 224

16.3.1 幂运算 224

16.3.2 对数函数 225

16.3.3 其他函数 225

16.3.4 伪随机数生成器 226

16.4 三角函数 227

16.5 双曲线函数 227

第17章 正则表达式 229

17.1 子字符串匹配和替换 229

17.2 构造正则表达式 230

17.3 使用正则表达式进行搜索 231

17.4 使用正则表达式进行替换 231

17.5 消费输入 232

17.6 分枝 234

17.7 匹配HTML 235

17.8 字符集 235

17.9 具名字符集 236

17.10 重复 237

17.11 句点元字符和转义 238

17.12 分组 238

17.13 懒惰匹配,贪婪匹配 240

17.14 反向引用 241

17.15 替换组 242

17.16 函数替换 243

17.17 锚点 245

17.18 单词边界匹配 245

17.19 向前查找 247

17.20 动态构造正则表达式 248

17.21 总结 248

第18章 浏览器中的Javascript 249

18.1 ES5还是ES6 249

18.2 文档对象模型 250

18.3 关于树的专用语 252

18.4 DOM中的“Get”方法 253

18.5 查询DOM元素 253

18.6 多个DOM元素 254

18.7 创建DOM元素 255

18.8 样式元素 256

18.9 数据属性 257

18.10 事件 258

18.11 事件捕获与事件冒泡 259

18.12 Ajax 263

18.13 总结 267

第19章 jQuery 268

19.1 万能的美元(符号) 268

19.2 引入jQuery 269

19.3 等待DOM加载 269

19.4 jQuery封装的DOM元素 270

19.5 操作元素 270

19.6 展开jQuery对象 272

19.7 Ajax 273

19.8 总结 273

第20章 Node 274

20.1 Node基础 274

20.2 模块(Module) 275

20.3 核心module、文件module和npm module 277

20.4 自定义函数Module 279

20.5 访问文件系统 281

20.6 进程 284

20.7 操作系统 286

20.8 子进程 287

20.9 流 288

20.10 Web服务器 289

20.11 总结 291

第21章 对象属性配置和代理 292

21.1 存取器属性:getter和setter 292

21.2 对象属性的属性 294

21.3 对象保护:冻结、封装、以及阻止扩展 296

21.4 代理 299

21.5 总结 301

第22章 附加资源 302

22.1 在线文档 302

22.2 期刊 303

22.3 博客和教程 303

22.4 Stack Overflow 304

22.5 给开源项目做贡献 306

22.6 总结 307

资源截图:

Ja vaSc ript学习指南 第3版