本书由资深软件开发专家撰写,凝聚其多年开发经验,系统、深入、全面地阐释JavaScript,内容涉及流行的Web开发实践,结合实际案例进行讲解,授人以渔。本书内容并不局限于某个具体功能的使用方法,而是系统深入地讲解JavaScript的本质与结构,清晰阐释ECMAScript、DOM和BOM三部分内容的关系及重要性,以帮助开发人员全面深入了解前端开发技术。本书讲解的内容通俗易懂、深入浅出,特别是书中所用示例的设计,它们不仅可以让读者理解某个知识点的用法,更能让读者明白具体知识点所使用的场景,从而更深入地理解具体内容。 本书内容安排合理,架构清晰,注意理论与实践相结合,适合那些希望学习Web编程语言的初、中级程序员和希望精通JavaScript的程序员阅读。
目录
第一篇JavaScript基础知识
第1章JavaScript怎么学2
1.1三种学习方法2
1.2JavaScript的学习方法3
第2章JavaScript简介6
2.1ECMAScript概述7
2.2DOM概述8
2.3BOM概述8
2.4HTML5概述9
第3章JavaScript的本质10
3.1工具介绍10
3.2JavaScript的结构15
3.3JavaScript的内存模型17
第4章function类型对象20
4.1创建function20
4.2用作对象23
4.3处理业务23
4.4创建对象49
4.5三种子类型57
第5章object类型对象62
5.1创建object类型对象的三种方式62
5.2对象的属性66
5.3属性的描述74
第6章直接量及其相关对象79
6.1直接量的保存方式79
6.2直接量的封包与解包80
6.3直接量的包装对象81
第7章点运算符与this关键字90
7.1点运算符90
7.2this的含义90
7.3关联方法后的this91
7.4内部函数中的this91
7.5对象的属性不可以继承93
第8章Global与Window对象94
8.1Global对象94
8.2Window对象的特殊性94
第二篇ECMAScript2015中的新特性
第9章类98
9.1新类型class98
9.2class的用法98
第10章模块100
10.1模块的基本用法100
10.2导入后重命名101
10.3默认导出102
10.4导入为命名空间103
10.5打包导出103
第11章新增语法105
11.1let和const105
11.2字符串模板106
11.3函数参数默认值106
11.4参数扩展107
11.5箭头函数107
11.6for-of遍历108
第12章新增对象111
12.1Symbol111
12.2容器对象112
12.3缓存对象121
12.4异步处理128
12.5GeneratorFunction和Generator132
12.6反射与代理134
第13章原有对象的新增属性140
13.1Object140
13.2String143
13.3Number150
13.4Array150
13.5Math154
13.6RegExp155
第三篇DOM
第14章DOM概述162
14.1DOM标准的结构162
14.2DOM标准的特点163
第15章DOM核心164
15.1文档对象164
15.2异常对象177
15.3辅助对象178
第16章DOM中的HTML标准182
16.1HTMLCollection182
16.2HTMLOptionsCollection184
16.3HTMLDocument184
16.4HTMLElement186
第17章DOM事件187
17.1事件流187
17.2EventTarget189
17.3EventListener190
17.4Event190
17.5DOM0级事件199
第18章DOM样式和视图201
18.1Views201
18.2StyleSheets202
18.3CSS204
第19章DOM遍历和范围215
19.1遍历215
19.2范围219
第四篇BOM
第20章window对象228
20.1窗口、框架相关属性228
20.2窗口操作相关属性230
20.3弹出窗口相关属性231
20.4浏览器对象相关属性231
20.5定时器相关属性231
20.6其他属性234
第21章location对象235
21.18个读写属性235
21.2三个方法属性237
第22章其他对象238
22.1history对象238
22.2navigator对象238
第五篇HTML5
第23章本地存储242
23.1本地存储的分类242
23.2Storage存储243
23.3StorageEvent245
23.4IndexedDB数据库248
第24章canvas作图271
24.1绘制矩形272
24.2绘制路径274
24.3组合与剪切282
24.4坐标检测285
24.5修改颜色和样式286
24.6插入文本290
24.7插入图片292
24.8环境的保存和恢复292
24.9移动坐标原点293
24.10旋转坐标系294
24.11缩放295
24.12自由转换297
24.13阴影298
24.14动画299
24.15游戏300
第25章WebSocket306
25.1网络传输的原理和底层协议306
25.2WebSocket简介307
25.3WebSocket的优势308
25.4基本应用308
25.5RESTful应用312
25.6在线聊天系统313
25.7传输对象和二进制数据318
第26章多线程处理335
26.1单线程与多线程的概念335
26.2线程与进程的概念337
26.3JavaScript中的多线程338
第27章获取位置信息347
27.1geolocation对象347
27.2Position接口348
27.3PositionError接口349
27.4PositionOptions接口350
27.5显示到地图上353
第28章富文本编辑器与公式编辑器356
28.1富文本编辑器的原理356
28.2公式编辑器364
第29章总结380
29.1ECMAScript380
29.2DOM和BOM381
29.3HTML5382
附录ExcelibIDB源代码384