作者:
[美] 马特·弗里斯比
出版社: 人民邮电出版社
出品方: 图灵教育
原作名: Professional JavaScript for Web Developers (4th Edition)
译者: 李松峰
出版年: 2020-8
页数: 888
定价: 129.00元
装帧: 平装
丛书: 图灵程序设计丛书·Web开发系列
ISBN: 9787115545381
出版社: 人民邮电出版社
出品方: 图灵教育
原作名: Professional JavaScript for Web Developers (4th Edition)
译者: 李松峰
出版年: 2020-8
页数: 888
定价: 129.00元
装帧: 平装
丛书: 图灵程序设计丛书·Web开发系列
ISBN: 9787115545381
内容简介 · · · · · ·
本书是JavaScript经典图书的新版。第4版全面、深入地介绍了JavaScript开发者必须掌握的前端开发技术,涉及JavaScript的基础特性和高级特性。书中详尽讨论了JavaScript的各个方面,从JavaScript的起源开始,逐步讲解到新出现的技术,其中重点介绍ECMAScript和DOM标准。在此基础上,接下来的各章揭示了JavaScript的基本概念,包括类、期约、迭代器、代理,等等。另外,书中深入探讨了客户端检测、事件、动画、表单、错误处理及JSON。本书同时也介绍了近几年来涌现的重要新规范,包括Fetch API、模块、工作者线程、服务线程以及大量新API。
JavaScript高级程序设计(第4版)的创作者
· · · · · ·
-
尼古拉斯·泽卡斯 作者
作者简介 · · · · · ·
马特·弗里斯比(Matt Frisbie),Stealth Startup公司CTO,曾担任谷歌公司软件工程师,精通前端技术,拥有十余年Web开发经验,除本书外另著有AngularJS等前端主题图书。毕业于伊利诺伊大学厄巴纳-尚佩恩分校。
目录 · · · · · ·
第 1章 什么是JavaScript 1
1.1 简短的历史回顾 1
1.2 JavaScript实现 2
1.3 JavaScript版本 9
1.4 小结 10
第 2章 HTML中的JavaScript 11
· · · · · · (更多)
1.1 简短的历史回顾 1
1.2 JavaScript实现 2
1.3 JavaScript版本 9
1.4 小结 10
第 2章 HTML中的JavaScript 11
· · · · · · (更多)
第 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工具(图灵社区下载)
· · · · · · (收起)
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工具(图灵社区下载)
· · · · · · (收起)
原文摘录 · · · · · · ( 全部 )
-
最常见方式,就是组合使用构造函数模式与原型模式,其中构造函数模式用于定义实例属性,而原型模式用于定义方法和共享的属性。结果,每个实例都会有自己的一份实例属性的副本,但又同时共享着对方法的引用,最大限度地节省了内存。另外,这种混成模式还支持向构造函数传递参数……下面的代码重写了前面的例子。可以说,这是用来定义引用类型的一种默认模式 (查看原文) —— 引自第159页 -
按位非操作符由一个波浪线(~)表示,执行按位非的结果就是返回数值的反码。按位非是 ECMAScript 操作符中少数几个与二进制计算有关的操作符之一。 (查看原文) —— 引自第35页
> 全部原文摘录
丛书信息
· · · · · ·
图灵程序设计丛书·Web开发系列(共173册),
这套丛书还有
《JavaScript详解(第2版)》《HTML5与CSS3基础教程(第7版)》《JavaScript编程全解》《HTML5 Canvas基础教程》《Sass与Compass实战》
等
。
喜欢读"JavaScript高级程序设计(第4版)"的人也喜欢的电子书 · · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
喜欢读"JavaScript高级程序设计(第4版)"的人也喜欢 · · · · · ·
JavaScript高级程序设计(第4版)的书评 · · · · · · ( 全部 79 条 )






> 更多书评 79篇
这本书的其他版本 · · · · · · ( 全部9 )
-
人民邮电出版社 (2012)9.2分 2456人读过
-
Wrox (2012)9.3分 61人读过
-
人民邮电出版社 (2006)8.6分 1322人读过
-
人民邮电出版社 (2010)9.4分 535人读过
以下书单推荐 · · · · · · ( 全部 )
- 评分可能虚高书籍(一) (无心恋战)
- CS推荐 (橄榄树萍)
- 公司图书馆说要买技术书 (李斯特杨)
- 前端基础:JS/DOM/CSS/TS… (李鼎)
- 前端开发 (jkCaptain)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于JavaScript高级程序设计(第4版)的评论:
feed: rss 2.0
1 有用 苏霍壹 2021-12-21 15:48:45
写法一般,读起来不够舒服
1 有用 元勰 2022-03-21 23:22:40
囫囵吞枣的过了一遍,感觉好多东西不是特别理解,js用的还是少。
1 有用 大汪 2020-12-05 14:58:37
完美
12 有用 GreenLight 2023-07-19 20:58:39 江苏
大晚上的把我看笑了…大学时买了第三版,看了些,感觉挺好的。因为ES6出了,而且这种纯技术无设计思想的东西当然要看最新的,所以明明换了作者,也买了第四版。发现其所标榜的适合入门简直就是bullshit,大量ES6的东西没有铺垫、也不讲作用就直接往读者脸上堆?要不是我对JS和ES6有一定了解,书我真的看不懂看不下去。而且讲解极为生硬,不知道是原著还是翻译的锅...另外,新作者行不行啊?大晚上,睡不着看... 大晚上的把我看笑了…大学时买了第三版,看了些,感觉挺好的。因为ES6出了,而且这种纯技术无设计思想的东西当然要看最新的,所以明明换了作者,也买了第四版。发现其所标榜的适合入门简直就是bullshit,大量ES6的东西没有铺垫、也不讲作用就直接往读者脸上堆?要不是我对JS和ES6有一定了解,书我真的看不懂看不下去。而且讲解极为生硬,不知道是原著还是翻译的锅...另外,新作者行不行啊?大晚上,睡不着看着看着看笑了…update:已经转向去读开源项目《现代JavaScript教程》zh.javascript.info。 (展开)
0 有用 注销2024 2024-07-29 03:05:57 陕西
第二遍阅读,无论是前半部分章节的细节和讲解还是后半部分章节对已有认知的补充, 都是大有好处. 诚然,本书最大的优势正是体系化,这对于绝大多数开发人员学习巩固阶段是必备要素, 估计三刷的时候, 还得加星.