JavaScript编程精解.pdf

JavaScript编程精解.pdf
 

书籍描述

内容简介
本书包括三个部分。前11章讨论JavaScript语言本身的一些特性。接下来的8章讨论网页浏览器和JavaScript在网页编程中的实践。最后两个章节专门讲解另一个使用JavaScript编程的环境——Node.js。

编辑推荐
《JavaScript编程精解(原书第2版)》的第2版经过全面的更新和修订,覆盖了JavaScript的绝大多数语言特性,涉及Web编程和Node.js服务器编程,以及JavaScript性能优化等。《JavaScript编程精解(原书第2版)》的在线网站提供了所有源代码,你可以通过在线沙箱来编辑、运行代码,并实时查看输出结果。

作者简介
作者:(美国)马尔奇·哈弗贝克(Marlin Haverbeke) 译者:卢誉声

马尔奇·哈弗贝克(Marlin Haverbeke)世界级JavaScript程序员,通晓多种编程语言,在Web开发方面积累了丰富的经验,在JavaScript领域颇有影响力。此外,他创建并维护着多个流行的开源项目,如codeMirror编辑器和Tem类型推导引擎等。
卢誉声,软件工程师,擅长c++多线程编程和实时分布式系统架构。曾在思科系统(中国)研发中心云产品研发部工作多年。他曾参与服务器后端、前端以及SDK的设计与研发工作,在大规模分布式系统设计与实现、性能调优、高可用性和自动化等方面积累了丰富的敏捷实践与开发经验。现在在美国某IT/互联网公司工作,从事c++底层通信系统设计与研发。此外,他从事c/c++研发工作,对Java、JavaScript、Lua以及移动开发平台等也有一定研究。

目录
译者序
赞誉
前言
第一部分JavaScript编程语言
第1章值、类型和运算符2
1.1值2
1.2数字3
1.3字符串5
1.4一元运算符6
1.5布尔值6
1.6未定义值8
1.7自动类型转换8
1.8本章小结10
第2章程序结构11
2.1表达式和语句11
2.2变量12
2.3关键字和保留字13
2.4环境14
2.5函数14
2.6console.log函数14
2.7返回值15
2.8prompt和confirm函数15
2.9控制流16
2.10条件执行16
2.11while和do循环17
2.12代码缩进19
2.13for循环19
2.14跳出循环20
2.15更新变量的简便方法21
2.16switch条件分支21
2.17大写22
2.18注释22
2.19本章小结23
2.20习题23
第3章函数25
3.1定义函数25
3.2参数和作用域26
3.3嵌套作用域27
3.4函数值28
3.5符号声明29
3.6调用栈29
3.7可选参数31
3.8闭包31
3.9递归32
3.10添加新函数35
3.11函数及其副作用37
3.12本章小结37
3.13习题38
第4章数据结构:对象和数组39
4.1松鼠人39
4.2数据集40
4.3属性41
4.4方法41
4.5对象42
4.6可变性44
4.7松鼠人的记录45
4.8计算关联性47
4.9对象映射48
4.10分析结果49
4.11详解数组50
4.12字符串及其属性51
4.13arguments对象52
4.14Math对象53
4.15全局对象55
4.16本章小结55
4.17习题55
第5章高阶函数58
5.1抽象59
5.2数组遍历抽象59
5.3高阶函数61
5.4参数传递62
5.5JSON63
5.6数组过滤64
5.7使用map函数转换数组65
5.8使用reduce进行数据汇总65
5.9可组合性66
5.10性能开销67
5.11曾曾曾曾……祖父67
5.12绑定70
5.13本章小结70
5.14习题71
第6章深入理解对象72
6.1历史72
6.2方法73
6.3原型74
6.4构造函数75
6.5覆盖继承的属性76
6.6原型污染77
6.7无原型对象79
6.8多态79
6.9绘制表格80
6.10Getter与Setter84
6.11继承85
6.12instanceof运算符87
6.13本章小结87
6.14习题88
第7章项目实战:构建电子生态
系统89
7.1定义89
7.2描述世界90
7.3动物的编程接口91
7.4World对象93
7.5this及其作用域94
7.6赋予生命96
7.7动物的爬行动作98
7.8更多动物98
7.9更逼真的生态系统仿真99
7.10动作处理器100
7.11充实这个新世界102
7.12让虚拟世界生机盎然103
7.13习题104
第8章处理缺陷与错误105
8.1开发人员造成的问题105
8.2严格模式106
8.3测试107
8.4调试108
8.5错误传播109
8.6异常110
8.7异常后清理111
8.8选择性捕获112
8.9断言114
8.10本章小结115
8.11习题115
第9章正则表达式116
9.1创建正则表达式116
9.2匹配测试117
9.3匹配字符集117
9.4部分模式重复118
9.5子表达式分组119
9.6匹配和分组119
9.7日期类型120
9.8单词和字符串边界121
9.9选项模式122
9.10匹配原理122
9.11回溯123
9.12replace方法125
9.13贪婪模式126
9.14动态创建RegExp对象127
9.15search方法128
9.16lastIndex属性128
9.17解析INI文件129
9.18国际化字符131
9.19本章小结131
9.20习题132
第10章模块134
10.1模块的好处134
10.2使用函数作为命名空间136
10.3使用对象作为接口137
10.4与全局作用域分离138
10.5将数据作为代码执行138
10.6require函数139
10.7模块加载过慢的问题140
10.8接口设计143
10.9本章小结144
10.10习题145
第11章项目实战:开发编程语言147
11.1解析147
11.2代码执行器150
11.3特殊形式151
11.4环境153
11.5函数154
11.6编译155
11.7站在别人的肩膀上155
11.8习题156
第二部分在浏览器中使用JavaScript
第12章浏览器中的JavaScript160
12.1网络和Internet160
12.2Web161
12.3HTML162
12.4HTML和JavaScript164
12.5沙箱164
12.6兼容性与浏览器之争165
第13章文档对象模型166
13.1文档结构166
13.2树167
13.3标准168
13.4通过树结构访问节点169
13.5查找元素170
13.6修改文档170
13.7创建节点171
13.8属性173
13.9布局175
13.10样式176
13.11层叠样式177
13.12查询选择器178
13.13位置与动画179
13.14本章小结181
13.15习题181
第14章处理事件183
14.1事件处理器183
14.2事件与DOM节点184
14.3事件对象184
14.4传播185
14.5默认动作186
14.6按键事件187
14.7鼠标点击188
14.8鼠标移动189
14.9滚动事件191
14.10焦点事件192
14.11加载事件192
14.12脚本执行时间线193
14.13设置定时器193
14.14降频194
14.15本章小结195
14.16习题196
第15章项目实战:平台游戏198
15.1游戏198
15.2实现技术199
15.3关卡199
15.4读取关卡200
15.5活动元素201
15.6当封装成为负担203
15.7绘图204
15.8动作与冲突208
15.9活动元素与动作209
15.10跟踪按键213
15.11运行游戏213
15.12习题215
第16章使用canvas绘图217
16.1SVG217
16.2canvas元素218
16.3填充与描边219
16.4路径220
16.5曲线221
16.6绘制饼状图224
16.7文本225
16.8图像225
16.9变换227
16.10存储与清除图像的变换状态228
16.11回到游戏230
16.12选择图像接口234
16.13本章小结235
16.14习题235
第17章HTTP协议概述237
17.1协议简介237
17.2浏览器和HTTP238
17.3XMLHttpRequest240
17.4发送请求240
17.5异步请求241
17.6获取XML数据242
17.7HTTP沙箱242
17.8抽象请求243
17.9Promise245
17.10运用HTTP247
17.11安全和HTTPS247
17.12本章小结248
17.13习题248
第18章表单和表单域250
18.1域250
18.2聚焦252
18.3禁用域252
18.4作为整体的表单253
18.5文本域254
18.6选择框和单选框255
18.7选择域256
18.8文件域257
18.9客户端保存数据259
18.10本章小结261
18.11习题261
第19章项目实战:绘图程序263
19.1实现263
19.2建立DOM264
19.3基础265
19.4工具选择265
19.5颜色和画刷大小267
19.6保存269
19.7加载图片文件270
19.8完成271
19.9习题272
第三部分高级主题
第20章Node.js276
20.1背景276
20.2异步性277
20.3node命令278
20.4模块278
20.5使用NPM安装279
20.6文件系统模块281
20.7HTTP模块282
20.8流283
20.9简单的文件服务器284
20.10错误处理288
20.11本章小结290
20.12习题290
第21章项目实战:技能分享网站293
21.1设计293
21.2长轮询294
21.3HTTP接口295
21.4服务器297
21.5客户端303
21.6习题309
第22章JavaScript和性能311
22.1分阶段编译311
22.2图形布局312
22.3定义图313
22.4第一个力导向布局函数314
22.5性能分析316
22.6函数内联317
22.7退化回旧式循环318
22.8避免工作319
22.9产生更少的垃圾319
22.10垃圾回收320
22.11修改对象321
22.12动态类型322
22.13本章小结323
22.14习题324

文摘
版权页:



插图:

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多