第1章 JavaScript基础 1
1.1 JavaScript的历史与现状 1
1.1.1 JavaScript的发展 1
1.1.2 JavaScript的现状 2
1.1.3 JavaScript的定位 2
1.1.4 JavaScript在Web前端开发中的作用 2
1.1.5 Ajax 3
1.2 JavaScript的运行 4
1.2.1 JavaScript代码的装载与解析 4
1.2.2 在HTML页面中嵌入JavaScript 4
1.3 JavaScript的开发环境 7
1.3.1 编写JavaScript代码 7
1.3.2 运行与调试JavaScript代码 15
1.3.3 HTTP调试 17
本章小结 18
习题 18
第2章 JavaScript语法 19
2.1 JavaScript语法基础 19
2.1.1 变量 19
2.1.2 关键字与保留字 22
2.1.3 原始值与引用值 22
2.2 JavaScript数据类型 23
2.2.1 基础数据类型 23
2.2.2 数据类型转换 24
2.2.3 引用类型 27
2.3 JavaScript运算符 27
2.3.1 算术运算符 28
2.3.2 逻辑运算符 29
2.3.3 关系运算符 29
2.3.4 位运算符 30
2.3.5 变量的解构赋值 30
2.4 JavaScript语句 31
2.4.1 选择语句 31
2.4.2 循环语句 35
2.4.3 跳转语句 39
2.4.4 异常处理语句 40
2.5 JavaScript函数 42
2.5.1 函数的创建与调用 42
2.5.2 函数的参数 43
2.5.3 函数的属性与方法 47
2.5.4 遍历器(Iterator) 49
2.5.5 Generator函数 50
2.5.6 闭包 53
本章小结 56
习题 57
综合实训 57
第3章 JavaScript面向对象编程 58
3.1 Console对象 58
3.2 JavaScript内置对象 64
3.2.1 Number与Boolean对象 65
3.2.2 String对象与字符串操作 68
3.2.3 Array对象 73
3.2.4 Set和Map对象 78
3.2.5 Date对象 80
3.2.6 RegExp对象 83
3.2.7 Function对象 85
3.2.8 Object对象 87
3.2.9 Error对象 88
3.2.10 Math对象 89
3.3 字面量对象与JSON 90
3.4 自定义对象 94
3.4.1 自定义对象实现方式 94
3.4.2 自定义对象实现方式选择与实例 97
3.4.3 使用ECMAScript 6新语法定义类 97
本章小结 100
习题 101
综合实训 101
第4章 文档对象模型(DOM) 102
4.1 DOM基础 102
4.1.1 DOM简介 102
4.1.2 DOM树的结构 103
4.1.3 document对象 105
4.1.4 获取DOM中的元素 107
4.2 在DOM元素间移动 109
4.3 处理元素属性 111
4.3.1 style属性 111
4.3.2 class属性 112
4.4 通过CSS类名获取DOM元素 113
4.5 修改DOM中的元素 115
4.5.1 标准DOM元素修改方法 115
4.5.2 innerHTML属性 119
4.5.3 创建与修改table元素 120
本章小结 123
习题 123
综合实训 124
第5章 事件处理 125
5.1 浏览器中的事件 125
5.2 事件与DOM 129
5.3 用JavaScript处理事件 130
5.3.1 利用伪链接处理事件 130
5.3.2 内联的事件处理 130
5.3.3 无侵入的事件处理 133
5.3.4 window.onload事件 134
5.3.5 利用DOM绑定事件 136
5.3.6 对不同浏览器绑定事件 138
5.3.7 事件参数 139
5.3.8 取消事件默认行为 141
5.4 事件处理高级应用 142
5.4.1 事件的捕获与冒泡 142
5.4.2 使用事件委托 145
本章小结 148
习题 148
综合实训 148
第6章 浏览器对象模型(BOM) 151
6.1 window对象 152
6.2 location对象 159
6.3 navigator对象 161
6.4 screen对象 162
6.5 时间间隔与暂停 164
本章小结 167
习题 167
综合实训 167
第7章 JavaScript库 169
7.1 JavaScript库简介 169
7.1.1 Dojo 169
7.1.2 Prototype 170
7.1.3 jQuery 171
7.1.4 Yahoo!UI Library(YUI) 173
7.1.5 Mootools 174
7.1.6 Script.aculo.us 175
7.1.7 ExtJS 177
7.2 JavaScript库的选择 179
7.3 利用JavaScript库实现DOM操作 179
7.3.1 jQuery 179
7.3.2 ExtJS 181
本章小结 182
习题 182
综合实训 183
第8章 利用JavaScript实现动画效果 184
8.1 动画效果的用途 184
8.2 构建动画对象 185
8.2.1 回调 190
8.2.2 动画队列 193
8.3 扩展动画对象 196
8.4 利用JavaScript库实现动画效果 199
8.4.1 jQuery 199
8.4.2 ExtJS 201
本章小结 204
习题 204
综合实训 204
第9章 Ajax应用 205
9.1 Ajax简介 205
9.2 Ajax应用分析 206
9.3 Ajax过程解析 207
9.3.1 Ajax的请求/响应过程 209
9.3.2 失败的Ajax请求 211
9.4 Ajax数据格式 211
9.4.1 XML 211
9.4.2 JSON 215
9.5 创建Ajax应用对象 218
9.6 Ajax异常处理 220
9.6.1 访问超时 220
9.6.2 HTTP状态代码 223
9.6.3 多重请求 224
9.6.4 意外数据 225
9.7 利用JavaScript库实现Ajax应用 226
9.7.1 jQuery 226
9.7.2 ExtJS 228
本章小结 230
习题 231
综合实训 231
第10章 JavaScript表单验证 233
10.1 服务器端表单验证 233
10.2 客户端表单验证 234
10.3 用Ajax实现表单验证 237
本章小结 243
习题 244
综合实训 244
参考文献 246