《JavaScript高级程序设计(第4版)》是由人民邮电出版社出版的一本关于JavaScript方面的书籍,作者是马特·弗里斯比(Matt、Frisbie,主要介绍了关于JavaScript、程序设计方面的知识内容,目前在JavaScript类书籍综合评分为:9.2分。
书籍介绍
《JavaScript高级程序设计(第4版)》是JavaScript经典图书的新版。第4版涵盖ECMAScript 2019,全面、深入地介绍了JavaScript开发者必须掌握的前端开发技术,涉及JavaScript的基础特性和高级特性。书中详尽讨论了JavaScript的各个方面,从JavaScript的起源开始,逐步讲解到新出现的技术,其中重点介绍ECMAScript和DOM标准。在此基础上,接下来的各章揭示了JavaScript的基本概念,包括类、期约、迭代器、代理,等等。另外,书中深入探讨了客户端检测、事件、动画、表单、错误处理及JSON。本书同时也介绍了近几年来涌现的重要新规范,包括Fetch API、模块、工作者线程、服务线程以及大量新API。
目录
- 第1章 什么是JavaScript 1
- 1.1 简短的历史回顾 1
- 1.2 JavaScript实现 2
- 1.3 JavaScript版本 9
- 1.4 小结 10
- 第 2章 HTML中的JavaScript 11
- 2.1 script元素 11
- 2.2 行内代码与外部文件 18
- 2.3 文档模式 18
- 2.4 noscript元素 19
- 2.5 小结 20
- 第3章 语言基础 21
- 3.1 语法 21
- 3.2 关键字与保留字 23
- 3.3 变量 24
- 3.4 数据类型 30
- 3.5 操作符 56
- 3.6 语句 73
- 3.7 函数 80
- 3.8 小结 82
- 第4章 变量、作用域与内存 83
- 4.1 原始值与引用值 83
- 4.2 执行上下文与作用域 87
- 4.3 垃圾回收 94
- 4.4 小结 101
- 第5章 基本引用类型 103
- 5.1 Date 103
- 5.2 RegExp 107
- 5.3 原始值包装类型 113
- 5.4 单例内置对象 128
- 5.5 小结 135
- 第6章 集合引用类型 136
- 6.1 Object 136
- 6.2 Array 138
- 6.3 定型数组 155
- 6.4 Map 163
- 6.5 WeakMap 168
- 6.6 Set 173
- 6.7 WeakSet 178
- 6.8 迭代与扩展操作 180
- 6.9 小结 182
- 第7章 迭代器与生成器 183
- 7.1 理解迭代 183
- 7.2 迭代器模式 184
- 7.3 生成器 192
- 7.4 小结 204
- 第8章 对象、类与面向对象编程 205
- 8.1 理解对象 205
- 8.2 创建对象 220
- 8.3 继承 238
- 8.4 类 249
- 8.5 小结 265
- 第9章 代理与反射 266
- 9.1 代理基础 266
- 9.2 代理捕获器与反射方法 274
- 9.3 代理模式 283
- 9.4 小结 286
- 第 10章 函数 287
- 10.1 箭头函数 288
- 10.2 函数名 289
- 10.3 理解参数 290
- 10.4 没有重载 292
- 10.5 默认参数值 293
- 10.6 参数扩展与收集 295
- 10.7 函数声明与函数表达式 297
- 10.8 函数作为值 297
- 10.9 函数内部 299
- 10.10 函数属性与方法 302
- 10.11 函数表达式 304
- 10.12 递归 306
- 10.13 尾调用优化 307
- 10.14 闭包 309
- 10.15 立即调用的函数表达式 314
- 10.16 私有变量 316
- 10.17 小结 321
- 第 11章 期约与异步函数 322
- 11.1 异步编程 322
- 11.2 期约 325
- 11.3 异步函数 347
- 11.4 小结 360
- 第 12章 BOM 361
- 12.1 window对象 361
- 12.2 location对象 372
- 12.3 navigator对象 375
- 12.4 screen对象 379
- 12.5 history对象 379
- 12.6 小结 381
- 第 13章 客户端检测 382
- 13.1 能力检测 382
- 13.2 用户代理检测 386
- 13.3 软件与硬件检测 394
- 13.4 小结 400
- 第 14章 DOM 401
- 14.1 节点层级 401
- 14.2 DOM编程 426
- 14.3 MutationObserver接口 432
- 14.4 小结 444
- 第 15章 DOM扩展 445
- 15.1 Selectors API 445
- 15.2 元素遍历 447
- 15.3 HTML5 448
- 15.4 专有扩展 456
- 15.5 小结 459
- 第 16章 DOM2和DOM3 460
- 16.1 DOM的演进 460
- 16.2 样式 467
- 16.3 遍历 476
- 16.4 范围 481
- 16.5 小结 489
- 第 17章 事件 490
- 17.1 事件流 490
- 17.2 事件处理程序 493
- 17.3 事件对象 499
- 17.4 事件类型 505
- 17.5 内存与性能 540
- 17.6 模拟事件 543
- 17.7 小结 548
- 第 18章 动画与Canvas图形 549
- 18.1 使用requestAnimationFrame 549
- 18.2 基本的画布功能 552
- 18.3 2D绘图上下文 553
- 18.4 WebGL 569
- 18.5 小结 579
- 第 19章 表单脚本 581
- 19.1 表单基础 581
- 19.2 文本框编程 587
- 19.3 选择框编程 597
- 19.4 表单序列化 601
- 19.5 富文本编辑 603
- 19.6 小结 608
- 第 20章 JavaScript API 609
- 20.1 Atomics与SharedArrayBuffer 609
- 20.2 跨上下文消息 616
- 20.3 Encoding API 617
- 20.4 File API与Blob API 622
- 20.5 媒体元素 627
- 20.6 原生拖放 631
- 20.7 Notifications API 635
- 20.8 Page Visibility API 636
- 20.9 Streams API 637
- 20.10 计时API 644
- 20.11 Web组件 648
- 20.12 Web Cryptography API 663
- 20.13 小结 674
- 第 21章 错误处理与调试 675
- 21.1 浏览器错误报告 675
- 21.2 错误处理 676
- 21.3 调试技术 688
- 21.4 旧版IE的常见错误 691
- 21.5 小结 693
- 第 22章 处理XML 694
- 22.1 浏览器对XML DOM的支持 694
- 22.2 浏览器对XPath的支持 696
- 22.3 浏览器对XSLT的支持 700
- 22.4 小结 702
- 第 23章 JSON 703
- 23.1 语法 703
- 23.2 解析与序列化 706
- 23.4 小结 710
- 第 24章 网络请求与远程资源 711
- 24.1 XMLHttpRequest对象 711
- 24.2 进度事件 718
- 24.3 跨源资源共享 719
- 24.4 替代性跨源技术 721
- 24.5 Fetch API 722
- 24.6 Beacon API 747
- 24.7 Web Socket 747
- 24.8 安全 749
- 24.9 小结 750
- 第 25章 客户端存储 751
- 25.1 cookie 751
- 25.2 Web Storage 759
- 25.3 IndexedDB 762
- 25.4 小结 771
- 第 26章 模块 772
- 26.1 理解模块模式 772
- 26.2 凑合的模块系统 776
- 26.3 使用ES6之前的模块加载器 779
- 26.4 使用ES6模块 783
- 26.5 小结 790
- 第 27章 工作者线程 791
- 27.1 工作者线程简介 791
- 27.2 专用工作者线程 793
- 27.3 共享工作者线程 813
- 27.4 服务工作者线程 817
- 27.5 小结 841
- 第 28章 最佳实践 842
- 28.1 可维护性 842
- 28.2 性能 851
- 28.3 部署 861
- 28.4 小结 864
- 附录A ES2018和ES2019(图灵社区下载)
- 附录B 严格模式(图灵社区下载)
- 附录C JavaScript库和框架(图灵社区下载)
- 附录D JavaScript工具(图灵社区下载)