搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
JavaScript编程精解:a modern introduction to programming
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111648369
  • 作      者:
    (美)马尔奇·哈弗贝克(Marijn Haverbeke)著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2020
收藏
编辑推荐

本书从JavaScript的基本语言特性入手,提纲挈领地介绍JavaScript的主要功能和特色,包括基本结构、函数、数据结构、高阶函数、错误处理、正则表达式、模块、异步编程、浏览器文档对象模型、事件处理、绘图、HTTP表单、Node等,可以帮助你循序渐进地掌握基本的编程概念、技术和思想。而且书中提供5个项目实战章节,涉及路径查找、自制编程语言、平台交互游戏、绘图工具和动态网站,可以帮助你快速上手实际的项目。此外,本书还介绍了JavaScript性能优化的方法论、思路和工具,以帮助我们开发高效的程序。

 

●新版本:

针对JavaScript语言ES6 规范的新功能更新,助你了解JavaScript语言的新发展,编写出更强大的代码

●注重实战:

通过投递机器人、编程语言、平台交互游戏、像素绘图程序、动态网站5个实战章节,教你快速上手实际的项目

●学练结合:

每章配有示例程序和习题和答案,帮你进行知识回顾

●线上资源:

本书配套功能丰富的支持网站,可实际执行内嵌的代码段,及时查看结果(微信关注华章计算机,回复64836获取)



展开
作者简介

马尔奇·哈弗贝克(Marijn Haverbeke)

全球知名JavaScript程序员,通晓多种编程语言,在Web开发方面积累了丰富的经验,在JavaScript领域颇有影响力。

他研究过各种软件系统,从数据库到编译器再到编辑器均有涉及。此外,他创建并维护着多个流行的开源项目,如CodeMirror编辑器和Tern类型推导引擎等。


展开
内容介绍

JavaScript几乎可以说是所有现代Web应用程序的核心,无论是社交应用程序,还是时下流行的浏览器游戏。虽说学习和使用JavaScript的成本并不高,但是它却是一种灵活且复杂的编程语言,你可以用它来构建功能全面且复杂的应用程序。

本书的第3版进行了全面的更新和修订,以反映JavaScript和Web浏览器的当前进展,涵盖类表示法、箭头函数、迭代器、异步函数、模板字符串和块作用域等功能的全新内容。而且还增加大量的新练习来测试你的技能,让你保持在正轨上。

本书深入剖析了JavaScript编程语言的内部细节,并阐述了编写优雅高效代码的方法。作者Marijn Haverbeke从示例代码开始讲解,逐步实现了完整的项目,与此同时作者还提供了一系列习题供读者练习,你可以从中学习并了解如何编写自己的程序。

首先,你将学习JavaScript语言的基本结构,以及控制结构、函数和数据结构。然后在进入Web浏览器编程之前,你将学习错误处理与bug修复模块化和异步编程。在构建诸如浏览器游戏、简单的编程语言和绘画程序的项目时,你将学习如何:

●了解编程的基本要素,包括语法、控制和数据

●使用面向对象和函数式编程技术组织和阐明代码

●编写浏览器脚本并开发基本的Web应用程序

●高效地使用DOM与浏览器进行交互

●利用Node.js构建服务器和实用程序


展开
精彩书评

★ “这是我所见过的把编程概念解释得极其恰当的书之一。”

——Sandra Henry-Stocker,IT World

 

★“如果选择这本书开始你的JavaScript学习,你可以很快学到很多技术知识和编程智慧。”

——Michael J. Ross,Web开发人员和Slashdot贡献者

 

★ “因为学了这本书,我成为一名更好的架构师、作者、导师和开发人员。这是一本比肩Flannagan和 Crockford的著作的书籍。”

——Angus Croll,Twitter的开发人员

 

★ “对任何编程语言和整个编程的极好的介绍。”

——Jan Lehnardt,Hoodie的联合创始人和欧盟JSConf的组织者

 

★ “每当人们问我如何正确学习JavaScript时,我都会推荐这本书。”

——Chris Williams,美国JSConf的组织者

 

★ “这是我读过的极好的的JavaScript书之一。”

——Rey Bango,JQuery 团队成员和微软客户端Web通信程序经理

 

★“这是一部非常好的JavaScript指南,更重要的是,它还是很好的编程指南。”

——Ben Nadel, Epicenter Consulting首席软件工程师

 

★“一本好书,适合那些没有JavaScript经验,甚至没有编程经验的人阅读。”

——Nicholas Zakas,《高性能JavaScript》和《JavaScript面向对象精要》的作者。

 

★“如果你是JavaScript的新手,我建议你做的第一件事就是打开本书并阅读作者对该语言的介绍。”

——英国CNET   


展开
目录

【第一部分】 语言

●第1章 值、类型和运算符  2

1.1 值  2

1.2 数字  3

1.3 字符串  4

1.4 一元运算符  6

1.5 布尔值  6

1.5.1 比较  6

1.5.2 逻辑运算符  7

1.6 空值  8

1.7 自动类型转换  8

1.8 小结  10

●第2章 程序结构  11

2.1 表达式和语句  11

2.2 绑定  12

2.3 绑定名称  13

2.4 环境  13

2.5 函数  14

2.6 console.log函数  14

2.7 返回值  15

2.8 控制流  15

2.9 条件执行  15

2.10 while和do循环  17

2.11 缩进代码  18

2.12 for循环  19

2.13 跳出循环  19

2.14 简洁地更新绑定  20

2.15 使用switch调度值  20

2.16 首字母大写  21

2.17 注释  22

2.18 小结  22

2.19 习题  22

●第3章 函数  24

3.1 定义一个函数  24

3.2 绑定和作用域  25

3.3 作为值的函数  27

3.4 声明表示法  27

3.5 箭头函数  28

3.6 调用栈  28

3.7 可选参数  29

3.8 闭包  30

3.9 递归  31

3.10 函数的增长方式  34

3.11 函数和副作用  36

3.12 小结  36

3.13 习题  37

●第4章 数据结构:对象和数组  38

4.1 松鼠人  38

4.2 数据集  39

4.3 属性  39

4.4 方法  40

4.5 对象  41

4.6 可变性  43

4.7 松鼠人的日志  44

4.8 计算相关性  45

4.9 数组循环  46

4.10 最终分析  47

4.11 其他数组方法  48

4.12 字符串及其属性  50

4.13 剩余参数  51

4.14 Math对象  52

4.15 解构  53

4.16 JSON  54

4.17 小结  54

4.18 习题  55

●第5章 高阶函数  57

5.1 抽象化  58

5.2 提取重复的内容  58

5.3 高阶函数  59

5.4 语言字符集数据集  60

5.5 过滤数组  61

5.6 用map转换  62

5.7 用reduce汇总  62

5.8 组合性  63

5.9 字符串和字符代码  64

5.10 文本识别  66

5.11 小结  67

5.12 习题  67

●第6章 对象的秘密  69

6.1 封装  69

6.2 方法  70

6.3 原型  71

6.4 类  72

6.5 类表示法  73

6.6 覆盖派生属性  74

6.7 映射  75

6.8 多态性  76

6.9 符号  76

6.10 迭代器接口  78

6.11 读取器、设置器和静态  79

6.12 继承  81

6.13 instanceof运算符  82

6.14 小结  82

6.15 习题  83

●第7章 项目:机器人  85

7.1 村庄Meadowf?ield  85

7.2 任务  86

7.3 持久化数据  88

7.4 模拟  89

7.5 邮车的路线  90

7.6 寻找路线  91

7.7 习题  92

●第8章 缺陷和错误  94

8.1 语言  94

8.2 严格模式  95

8.3 类型  96

8.4 测试  96

8.5 调试  97

8.6 错误传播  98

8.7 异常  99

8.8 异常后清理  100

8.9 选择性捕获  102

8.10 断言  103

8.11 小结  104

8.12 习题  104

●第9章 正则表达式  106

9.1 创建正则表达式  106

9.2 匹配测试  107

9.3 字符集  107

9.4 模式的重复部分  108

9.5 对子表达式分组  109

9.6 匹配和组  109

9.7 Date类  110

9.8 单词和字符串边界  111

9.9 选择模式  112

9.10 匹配机制  112

9.11 回溯  113

9.12 replace方法  114

9.13 贪心  116

9.14 动态创建RegExp对象  117

9.15 search方法  117

9.16 lastIndex属性  118

9.17 解析INI文件  119

9.18 国际字符  121

9.19 小结  122

9.20 习题  123

●第10章 模块  124

10.1 模块作为构件  124

10.2 包  125

10.3 简易模块  126

10.4 将数据作为代码执行  127

10.5 CommonJS  127

10.6 ECMAScript模块  129

10.7 构建和捆绑  130

10.8 模块设计  131

10.9 小结  132

10.10 习题  133

●第11章 异步编程  134

11.1 异步  134

11.2 乌鸦技术  135

11.3 回调  136

11.4 promise  138

11.5 失败  139

11.6 构建网络很困难  140

11.7 promise集合  142

11.8 网络泛洪  142

11.9 消息路由  143

11.10 异步函数  145

11.11 生成器  147

11.12 事件循环  148

11.13 异步bug  149

11.14 小结  150

11.15 习题  150

●第12章 项目:编程语言  152

12.1 解析  152

12.2 求解器  156

12.3 特殊形式  157

12.4 环境  158

12.5 函数  159

12.6 编译  160

12.7 作弊  161

12.8 习题  161

 

【第二部分】 浏览器

●第13章 浏览器中的JavaScript  164

13.1 网络和互联网  164

13.2 Web  165

13.3 HTML  166

13.4 HTML和JavaScript  168

13.5 沙盒  168

13.6 兼容性和浏览器大战  169

●第14章 文档对象模型  170

14.1 文档结构  170

14.2 树  171

14.3 标准  172

14.4 通过树结构  173

14.5 寻找元素  174

14.6 更改文档  175

14.7 创建节点  175

14.8 属性  177

14.9 布局  177

14.10 样式  179

14.11 层叠样式  180

14.12 查询选择器  181

14.13 定位和动画  182

14.14 小结  184

14.15 习题  184

●第15章 处理事件  186

15.1 事件处理程序  186

15.2 事件和DOM节点  187

15.3 事件对象  188

15.4 传播  188

15.5 默认操作  189

15.6 按键事件  190

15.7 指针事件  191

15.8 滚动事件  194

15.9 焦点事件  195

15.10 加载事件  196

15.11 事件和事件循环  196

15.12 计时器  197

15.13 限频  198

15.14 小结  199

15.15 习题  199

●第16章 项目:平台游戏  201

16.1 游戏  201

16.2 技术  202

16.3 关卡  202

16.4 读取关卡  203

16.5 演员  204

16.6 封装是一种负担  207

16.7 绘图  207

16.8 动作和碰撞  211

16.9 演员的更新  214

16.10 跟踪按键  215

16.11 运行游戏  216

16.12 习题  218

●第17章 在画布上绘图  219

17.1 SVG  219

17.2 画布元素  220

17.3 线和面  221

17.4 路径  222

17.5 曲线  223

17.6 绘制饼图  225

17.7 文本  226

17.8 图片  227

17.9 转换  228

17.10 存储和清除转换  230

17.11 回到游戏  231

17.12 选择图形界面  236

17.13 小结  236

17.14 习题  237

●第18章 HTTP和表单  239

18.1 协议  239

18.2 浏览器和HTTP  241

18.3 fetch  242

18.4 HTTP沙盒  243

18.5 欣赏HTTP  243

18.6 安全性和HTTPS  244

18.7 表单域  244

18.8 焦点  246

18.9 禁用域  247

18.10 表单整体  247

18.11 文本域  248

18.12 复选框和单选按钮  249

18.13 选择域  250

18.14 文件域  251

18.15 在客户端存储数据  252

18.16 小结  254

18.17 习题  255

●第19章 项目:像素绘图程序  257

19.1 组件  257

19.2 状态  259

19.3 DOM的建立  260

19.4 画布  261

19.5 应用程序  263

19.6 绘图工具  264

19.7 保存和加载  267

19.8 撤销历史记录  269

19.9 让我们画吧  270

19.10 为什么这么难  271

19.11 习题  271

 

【第三部分】 Node

●第20章 Node.js  276

20.1 背景  276

20.2 node命令  277

20.3 模块  277

20.4 使用NPM安装  278

20.5 文件系统模块  280

20.6 HTTP模块  281

20.7 流  283

20.8 文件服务器  284

20.9 小结  288

20.10 习题  289

●第21章 项目:技能分享网站  290

21.1 设计  290

21.2 长轮询  291

21.3 HTTP接口  292

21.4 服务器  293

21.5 客户端  299

21.6 习题  304

●第22章 JavaScript性能  305

22.1 分阶段编译  305

22.2 图的布局  306

22.3 定义图  307

22.4 力导向布局  308

22.5 避免工作  310

22.6 分析器  312

22.7 函数内联  313

22.8 减少垃圾  314

22.9 垃圾收集  314

22.10 动态类型  315

22.11 小结  316

22.12 习题  317

附录 部分习题解答提示  318


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证