重磅推荐
【编辑推荐】

内容涵盖SE6到SE11,不仅介绍了JavaScript的基础语法、对象、构造函数、原型与类等基本内容,还深入介绍了异步设计、错误处理、meta programming等高级内容。
? 除名称空间、模块管理介绍外,还运用标准模块语法,将DOM操作、事件处理、样式设定、XMLHttpRequest操作等细节,逐一封装成为可用的模块。
? 探讨XMLHttpRequest、Fetch、Server-Sent Event与WebSocket等标准网络通信方案;讨论Web Storage、Indexed Database等浏览器存储方案。
? 介绍如何使用除错器、浏览器开发人员工具,以检视程序代码的错误、网络通信及浏览器存储方案的相关细节。
? 已提供范例的相关Lab档案,读者通过实操更能掌握练习重点。


【内容简介】

JavaScript是一种网络脚本语言,被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。JavaScript脚本通常是通过嵌入在HTML中来实现自身功能的。 《JavaScript技术手册》内容涵盖ES6到ES11,不仅介绍了JavaScript的基础语法、对象、构造函数、原型与类等基本内容,还深入介绍了异步设计、错误处理、meta programming等高级内容。此外,还运用标准模块语法将DOM操作、事件处理、样式设定、XMLHttpRequest操作等细节,逐一封装成为可用的模块。 《JavaScript技术手册》对于初学者来说,只要了解Windows基本操作,无须有任何程序语言基础,便可以扎扎实实地学习JavaScript。对于有一定JavaScript开发经验、正在或准备从事JavaScript 开发的人来说,通过《JavaScript技术手册》的高级内容,能够掌握JavaScript的技术精髓,进而应用于实践工作中。


【作者简介】

林信良(网名良葛格),毕业于台湾大学电机工程学系,自由工作者,擅长技术写作、翻译与教育训练。喜欢研究程序语言、框架、社群,从中学习设计、典范及文化,并利用闲暇之余记录所学技术,涵盖C/C 、Java、Python、JavaScript、Haskell、OpenSCAD、WebAssembly等领域。目前出版的著作有《JSP&Servlet学习笔记(第3版)》《JSP&Servlet学习笔记(第2版)》《Java JDK 9学习笔记》《Java JDK 8学习笔记》《Spring技术手册》,译作有《Ajax实战手册》《jQuery实战手册(第2版)》。


【目录】

第1章 JavaScript技术概述 1

1.1 认识JavaScript 1

1.1.1 JavaScript的发展 1

1.1.2 认识TC39提案 4

1.1.3 使用哪个版本 5

1.2 准备JavaScript环境 7

1.2.1 JavaScript引擎 7

1.2.2 下载、安装Node.js 8

1.3 重点复习 10

第2章 类型、变量与运算符 11

2.1 从Hello World 开始 11

2.1.1 使用REPL 11

2.1.2 撰写JavaScript原始码 14

2.1.3 哈啰!世界! 15

2.2 内建类型 18

2.2.1 基本类型 18

2.2.2 复合类型 23

2.2.3 数组与类数组 25

2.3 变量与运算符 29

2.3.1 变量 29

2.3.2 严格模式 33

2.3.3 加减乘除运算 35

2.3.4 比较运算 38

2.3.5 逻辑运算 40

2.3.6 位运算 41

2.3.7 条件、指定、递增/递减 43

2.4 重点复习 45

第3章 流程语法与函数 46

3.1 使用除错器 46

3.1.1 使用Visual Studio Code 46

3.1.2 使用调试程序 48

3.2 流程语法 50

3.2.1 if分支判断 50

3.2.2 变量与区块 52

3.2.3 switch比对 53

3.2.4 for循环 55

3.2.5 while循环 58

3.2.6 break、continue 59

3.3 函数入门 61

3.3.1 声明函数 61

3.3.2 参数与自变量 64

3.3.3 一级函数的运用 67

3.3.4 函数字面量与箭号函数 72

3.3.5 Closure 75

3.3.6 产生器函数 77

3.3.7 模板字符串与标记模板 81

3.4 重点复习 84

3.5 课后练习 84

第4章 使用对象 86

4.1 特性与方法 86

4.1.1 特性与undefined 86

4.1.2 函数与this 88

4.1.3 对象字面量增强 94

4.1.4 解构、余集、打散 97

4.2 对象协议 101

4.2.1 valueOf()与toString() 101

4.2.2 符号 103

4.2.3 运用标准符号 104

4.3 重点复习 108

4.4 课后练习 108

第5章 构造函数、原型与类 110

5.1 构造函数 110

5.1.1 封装对象建构流程 110

5.1.2 私有性模拟 114

5.1.3 特性描述器 116

5.1.4 扩充、弥封、冻结 120

5.2 原型对象 120

5.2.1 构造函数与prototype 121

5.2.2 __proto__与Object.create() 125

5.2.3 原型链 126

5.2.4 基于原型的继承 128

5.2.5 重新定义方法 131

5.3 类语法 133

5.3.1 定义类 134

5.3.2 定义方法 135

5.3.3 实现继承 138

5.3.4 super与extends 140

5.4 重点复习 143

5.5 课后练习 144

第6章 异步设计 145

6.1 初识异步 145

6.1.1 使用setTimeout() 145

6.1.2 同步 148

6.1.3 异步与回调 149

6.2 Promise 151

6.2.1 Promise实例 151

6.2.2 衔接Promise 153

6.2.3 Promise与产生器 155

6.3 async、await 156

6.3.1 async函数 156

6.3.2 await与Promise 158

6.3.3 for-await-of与异步产生器函数 160

6.3.4 Symbol.asyncIterator 162

6.4 重点复习 165

6.5 课后练习 165

第7章 错误处理 166

7.1 错误处理语法 166

7.1.1 throw与try-catch 166

7.1.2 掌握错误类型 169

7.1.3 自定义错误类型 172

7.1.4 认识堆栈追踪 174

7.1.5 产生器与错误处理 177

7.2 异步错误处理 179

7.2.1 回调模式错误处理 179

7.2.2 Promise与错误处理 181

7.2.3 async、await与错误处理 182

7.2.4 异步产生器与错误处理 183

7.3 重点复习 184

7.4 课后练习 184

第8章 常用标准API 186

8.1 数组 186

8.1.1 数组静态方法 186

8.1.2 改变数组 189

8.1.3 函数式风格API 192

8.2 群集 196

8.2.1 Set与WeakSet 196

8.2.2 Map与WeakMap 198

8.2.3 ArrayBuffer 201

8.3 JSON 203

8.3.1 简介JSON 203

8.3.2 JSON.stringify()与JSON.parse() 204

8.4 正则表达式 207

8.4.1 JavaSript与正则表达式 207

8.4.2 简介正则表达式 207

8.4.3 String与正则表达式 213

8.4.4 使用RegExp 216

8.4.5 Unicode正则表达式 220

8.5 重点复习 224

8.6 课后练习 224

第9章 meta-programming 226

9.1 探索对象 226

9.1.1 对象特性 227

9.1.2 对象类型 230

9.1.3 对象相等性 234

9.2 Reflect与Proxy 235

9.2.1 Reflect API 235

9.2.2 Proxy API 240

9.3 重点复习 246

9.4 课后练习 246

第10章 进入浏览器 248

10.1 浏览器与JavaScript 248

10.1.1 初探script标签 248

10.1.2 文件解析与script标签 250

10.1.3 开发人员工具 253

10.1.4 引用.js原始码 254

10.1.5 async与defer 257

10.1.6 初探安全 258

10.1.7 同源策略与CORS 261

10.2 从名称空间到模块 266

10.2.1 名称空间管理 266

10.2.2 从CommonJS到AMD 271

10.3 ECMAScript模块 273

10.3.1 script卷标与模块 273

10.3.2 模块语法入门 275

10.3.3 export与export default 278

10.4 重点复习 282

10.5 课后练习 282

第11章 DOM、事件与样式 284

11.1 文件对象模型 284

11.1.1 浏览器对象模型 284

11.1.2 W3C文件对象模型 287

11.1.3 访问HTML文件 289

11.1.4 卷标属性与DOM特性 293

11.1.5 修改DOM树 297

11.1.6 封装DOM操作 300

11.2 事件处理 307

11.2.1 基本事件模型 308

11.2.2 标准事件模型 310

11.2.3 标准事件传播 312

11.2.4 封装事件处理 315

11.3 样式处理 317

11.3.1 存取样式信息 317

11.3.2 存取元素宽高 320

11.3.3 存取元素位置 322

11.3.4 显示、可见度与透明度 327

11.3.5 操作class属性 333

11.3.6 窗口维度相关信息 335

11.3.7 封装样式处理 338

11.4 重点复习 344

11.5 课后练习 344

第12章 网络通信方案 345

12.1 XMLHttpRequest 345

12.1.1 初探XMLHttpRequest实例 345

12.1.2 使用GET请求 350

12.1.3 使用POST请求 354

12.1.4 上传文件 357

12.1.5 responseXML、response 362

12.1.6 封装XMLHttpRequest操作 366

12.2 Fetch、Server-Sent Events、WebSocket 371

12.2.1 Fetch API 372

12.2.2 Server-Sent Events 374

12.2.3 简介WebSocket 377

12.3 重点复习 379

12.4 课后练习 379

第13章 浏览器保存方案 380

13.1 Cookie 380

13.1.1 认识Cookie 380

13.1.2 document.cookie 382

13.2 Web Storage 385

13.2.1 使用Storage 386

13.2.2 storage事件 388

13.3 Indexed Database 390

13.3.1 数据库与对象库 390

13.3.2 在交易中存取数据 393

13.3.3 封装数据库操作 395

13.4 重点复习 398

13.5 课后练习 398

附录A HTTP简介 399


返回顶部