第1章 快速体验JavaScript 1
1-1 使用Chrome运行JavaScript代码 1
1-2 JavaScript的变量 2
1-3 不同数据类型之间的运算 2
1-4 分支语句 3
1-5 循环语句 4
1-6 函数 5
1-7 理解对象 5
1-8 数组对象的使用 6
1-9 编写闰年判断小程序 7
1-10 使用Sublime Text来编写JavaScript代码 8
1-11 JavaScript的语法特点 16
1-12 编程练习 17
第2章 ECMAScript的语法世界 20
2-1 理解变量 20
2-2 变量的命名 21
2-3 变量提升 24
2-4 块级作用域 25
2-5 ECMAScript中的数据类型 27
2-6 再看const关键字 28
2-7 Undefined与Null 29
2-8 关于Boolean类型 30
2-9 关于Number类型 31
2-10 关于String类型 32
2-11 对象简介 33
2-12 算术运算符 35
2-13 赋值运算符 39
2-14 关系运算符 40
2-15 逻辑运算符 42
2-16 位运算符 44
2-17 自增与自减运算符 49
2-18 条件运算符 50
2-19 逗号运算符与delete运算符 50
2-20 关于运算符的优先级与结合性 51
2-21 隐式类型转换 53
2-22 编程练习 55
第3章 ECMAScript流程控制与函数 59
3-1 if-else分支结构 59
3-2 switch-case分支结构 60
3-3 while循环结构 62
3-4 for循环结构 63
3-5 关于for-in与for-of结构 64
3-6 break中断语句 66
3-7 continue中断语句 68
3-8 异常抛出语句throw 69
3-9 对异常进行捕获处理 71
3-10 传递异常 73
3-11 使用函数语句定义函数 76
3-12 使用函数表达式定义函数 77
3-13 使用Function构造器定义函数 78
3-14 立即执行函数 79
3-15 编程练习 80
第4章 ECMAScript面向对象编程 85
4-1 创建对象 86
4-2 设置对象的属性和行为 87
4-3 内置Number对象 88
4-4 Number对象与Number数值 90
4-5 内置String对象 91
4-6 与HTML相关的String方法 93
4-7 内置Boolean对象 94
4-8 内置Array对象 95
4-9 内置Date对象 99
4-10 内置Math对象 103
4-11 内置RegExp正则表达式对象 105
4-12 内置Function对象 109
4-13 内置Object对象 112
4-14 进行对象属性的配置 112
4-15 Object函数对象常用方法 114
4-16 Object实例对象常用方法 119
4-17 面向对象编程中的几个重要概念 120
4-18 用工厂方法模拟类 121
4-19 使用构造方法模拟类 122
4-20 使用Object函数对象的create方法模拟类 123
4-21 使用封装法模拟类 123
4-22 使用对象冒充的方式实现继承 124
4-23 使用原型链的方式实现继承 126
4-24 使用混合模式实现继承 128
4-25 编程练习 129
第5章 ECMAScript的高级特性 133
5-1 数组的解构赋值 133
5-2 对象的解构赋值 135
5-3 字符串与函数参数的解构赋值 137
5-4 用解构赋值交换变量的值 138
5-5 箭头函数的基本用法 138
5-6 箭头函数中this的固化 139
5-7 Set集合结构 141
5-8 Map字典结构 144
5-9 使用Proxy代理对对象的属性读写进行拦截 146
5-10 Proxy代理处理器支持的拦截操作 147
5-11 使用Promise承诺对象 150
5-12 建立Promise任务链 152
5-13 进行Promise对象组合 153
5-14 Generator函数应用 155
5-15 Generator任务参数的传递 158
5-16 使用class定义类 159
5-17 使用class实现类的继承 160
5-18 认识JSON数据格式 162
5-19 使用JSON对象 163
5-20 认识Symbol 165
5-21 注册全局的Symbol符号 166
5-22 迭代器Symbol 167
5-23 正则表达式符号 167
5-24 使用export进行模块的导出 168
5-25 使用import进行模块的导入 169
5-26 编程练习 170
第6章 JavaScript常用设计模式 173
6-1 工厂设计模式 173
6-2 单例设计模式 176
6-3 建造者设计模式 177
6-4 适配器设计模式 180
6-5 装饰器设计模式 181
6-6 外观设计模式 182
6-7 享元设计模式 184
6-8 代理设计模式 186
6-9 责任链设计模式 187
6-10 命令设计模式 189
6-11 迭代器设计模式 190
6-12 备忘录设计模式 191
6-13 观察者设计模式 193
6-14 编程练习 194
第7章 JavaScript HTML DOM/BOM 197
7-1 创建学习模板 197
7-2 几个重要概念 199
7-3 Document文档对象 199
7-4 Element节点对象 202
7-5 Attribute属性对象 206
7-6 用户事件 208
7-7 Event事件对象 209
7-8 关于事件传递 210
7-9 简单的轮播广告 211
7-10 Window窗口对象 213
7-11 Navigator导航对象 216
7-12 Screen屏幕对象 217
7-13 History历史对象 217
7-14 Location地址对象 218
7-15 编程练习 218
第8章 JavaScript项目实战 222
8-1 项目一:编写一个简易网页时钟 222
8-1-1 关于Canvas标签 223
8-1-2 制作简易网页时钟 225
8-2 项目二:编写网页笑话阅读器 229
8-2-1 通过互联网获取免费的应用数据 229
8-2-2 关于AJAX 232
8-2-3 代码实现 234