第1篇JavaScript语法基础 1
第1章 认识JavaScript 1
1.1脚本语言JavaScript 1
1.1.1脚本语言的分类 1
1.1.2 JavaScript的标准与历史 2
1.1.3 JavaScript在网页中的应用 3
1.1.4 JavaScript的发展趋势 3
1.2第一个JavaScript程序 4
1.2.1选择JavaScript编辑器 4
1.2.2编写Hello World程序 5
1.2.3运行程序 5
1.3编写JavaScript代码时的注意事项 6
1.3.1大小写敏感 6
1.3.2空格与换行 6
1.3.3分号可有可无 7
1.3.4注释形式 7
1.4小结 8
1.5习题 8
第2章JavaScript中的数据类型 9
2.1基本数据类型 9
2.1.1字符串型数据 9
2.1.2数值型数据 10
2.1.3布尔型数据 12
2.2复合型数据 13
2.2.1内置对象 13
2.2.2日期对象 14
2.2.3数学对象 16
2.2.4全局对象 18
2.2.5字符串对象 19
2.2.6数组对象 20
2.3数据类型的转换 22
2.3.1隐式类型转换 22
2.3.2显式类型转换 22
2.4小结 23
2.5习题 24
第3章 常量、变量、表达式和运算符 28
3.1常量和变量 28
3.1.1常量的定义 28
3.1.2变量的定义 29
3.1.3变量的作用域 31
3.1.4 JavaScript中的关键字 32
3.2表达式的定义 33
3.3认识运算符 34
3.3.1算术运算符简介 34
3.3.2关系运算符简介 35
3.3.3字符串运算符简介 36
3.3.4位运算符简介 36
3.3.5其他运算符 36
3.4运算符的优先级 37
3.5小结 38
3.6习题 38
第4章 控制语句 41
4.1选择语句 41
4.1.1 if选择 42
4.1.2 if-else选择 43
4.1.3 if-else-if选择 44
4.1.4 switch多条件选择 45
4.1.5选择语句综合示例 46
4.2循环语句 48
4.2.1 for循环 48
4.2.2 while循环 49
4.2.3 do-while循环 50
4.2.4 for-in循环 51
4.2.5 break和continue跳转 51
4.2.6循环语句综合示例 52
4.3使用异常处理语句 53
4.3.1 try-catch语句 53
4.3.2 try-catch-fiinally语句 54
4.3.3 throw语句 55
4.3.4异常处理语句综合示例 56
4.4小结 58
4.5习题 58
第5章 函数和数组 63
5.1函数的定义 63
5.1.1函数的普通定义 63
5.1.2函数的变量定义 66
5.1.3指针调用 67
5.1.4函数的参数 68
5.1.5 arguments对象 69
5.2函数的返回类型 70
5.2.1值类型 70
5.2.2引用类型 70
5.2.3使用返回函数 71
5.3函数的分类 71
5.3.1构造函数 71
5.3.2有返回值的函数 72
5.3.3无返回值的函数 72
5.4函数的作用域 72
5.4.1公有函数的作用域 72
5.4.2私有函数的作用域 73
5.4.3使用this关键字 74
5.5数组的定义 75
5.6创建数组 75
5.6.1创建空数组 75
5.6.2指定数组长度创建新数组 75
5.6.3指定数组元素创建新数组 76
5.6.4直接创建新数组 76
5.7数组元素的基本操作 76
5.7.1读取数组元素 77
5.7.2添加数组元素 77
5.7.3删除数组元素 77
5.7.4获取数组元素的个数 77
5.8数组对象的常见操作 78
5.8.1数组转换为字符串 78
5.8.2数组元素连接成字符串 78
5.8.3在数组尾部添加元素 79
5.8.4删除数组的最后一个元素 80
5.8.5其他常见操作 81
5.9小结 82
5.10习题 83
第6章JavaScript的调试与优化 88
6.1 JavaScript开发工具深入剖析 88
6.2 JavaScript的调试简介 89
6.2.1调试前的准备工作 89
6.2.2进行调试 90
6.2.3跟踪代码 91
6.3输出日志 93
6.4优化代码 95
6.5小结 97
6.6习题 97
第2篇JavaScript面向对象基础 99
第7章 面向对象编程 99
7.1面向对象的定义 99
7.2对象应用 100
7.2.1对象声明和实例化 100
7.2.2对象的引用 101
7.3 JavaScript的对象层次 102
7.3.1 JavaScript对象模型结构 102
7.3.2客户端对象层次 103
7.3.3浏览器对象模型 103
7.4事件驱动与事件处理 104
7.4.1详解事件与事件驱动 104
7.4.2掌握事件与处理代码关联 105
7.4.3函数调用事件 107
7.4.4代码调用事件 107
7.4.5掌握设置对象事件的方法 108
7.4.6掌握显式调用事件处理程序 109
7.4.7事件处理程序的返回值 110
7.4.8事件与this运算符 111
7.5常用事件 112
7.5.1浏览器事件 112
7.5.2鼠标移动事件 112
7.5.3鼠标单击事件 113
7.5.4加载与卸载事件 114
7.5.5得到焦点与失去焦点事件 114
7.5.6键盘事件 114
7.5.7提交与重置事件 115
7.5.8选择与改变事件 115
7.6小结 116
7.7习题 116
第8章 屏幕和浏览器对象 119
8.1认识屏幕对象 119
8.1.1检测显示器参数 119
8.1.2检测客户端显示器屏幕分辨率 120
8.1.3检测客户端显示器屏幕的有效宽度和高度 121
8.1.4网页开屏 122
8.2认识浏览器对象 123
8.2.1获取浏览器对象 123
8.2.2 MimeType对象 124
8.2.3浏览器对象的javaEnabled属性 125
8.3小结 126
8.4习题 126
第9章 文档对象 129
9.1认识文档对象 129
9.2操作文档对象 130
9.2.1设置超链接的颜色 130
9.2.2设置网页背景颜色和默认文字颜色 131
9.2.3设置文档信息 133
9.2.4在标题栏中显示滚动信息 133
9.2.5其他文档对象常见操作 134
9.3图像对象 135
9.3.1图像对象概述 135
9.3.2创建和使用图像对象 135
9.3.3掌握图像对象的onerror事件 136
9.3.4掌握显示图片的信息 137
9.3.5对图片进行置换 139
9.3.6认识随机图片 140
9.3.7动态改变图片大小 141
9.4链接对象 142
9.4.1链接对象概述 142
9.4.2掌握感知鼠标移动事件 142
9.4.3对一个网页上的所有超链接进行查看 143
9.4.4认识翻页程序 144
9.4.5认识网站目录 147
9.5小结 149
9.6习题 149
第10章 窗口对象 153
10.1认识window对象 153
10.2操作window对象 153
10.2.1装载文档 154
10.2.2卸载文档 154
10.2.3得到焦点与失去焦点 155
10.2.4调整窗口的大小 156
10.2.5对错误进行处理 156
10.3对话框的类型 157
10.3.1警告对话框 157
10.3.2询问对话框 158
10.3.3输入对话框 159
10.4状态栏 160
10.4.1认识默认状态栏信息 160
10.4.2认识状态栏瞬间信息 161
10.5操作网页窗口 161
10.5.1打开一个新窗口 162
10.5.2认识窗口名字 162
10.5.3如何关闭窗口 163
10.5.4对窗口进行引用 164
10.5.5对文档进行滚动 165
10.6小结 166
10.7习题 167
第11章 历史、地址和cookie对象 169
11.1认识历史对象 169
11.1.1历史对象的分类 169
11.1.2前进到上一页和后退到下一页 170
11.1.3实现页面的跳转 171
11.2地址对象 172
11.2.1对象简介概述 172
11.2.2获取指定地址的各属性值 172
11.2.3加载新网页 173
11.2.4获取参数 174
11.2.5装载新文档与重新装载当前文档 176
11.2.6刷新文档 177
11.2.7加载新文档 177
11.3 cookie对象 178
11.3.1 cookie的定义 179
11.3.2创建与读取cookie 179
11.3.3获取cookie的值 180
11.3.4 cookie的生存周期 181
11.3.5 cookie的注意事项 183
11.4小结 183
11.5习题 184
第12章 表单对象和DOM对象 188
12.1认识表单对象 188
12.1.1表单对象的种类 188
12.1.2转换大小写 189
12.1.3表单的提交和重置 190
12.1.4响应表单的提交和重置 191
12.2操作表单对象 192
12.2.1表单验证 192
12.2.2表单循环验证 194
12.2.3表单的提交方式 196
12.2.4重置表单 197
12.2.5如何不使用提交按钮来提交表单 198
12.3表单元素 199
12.4文本框 199
12.4.1文本框的创建方式 200
12.4.2查看文本框的属性值 200
12.4.3动态跟踪文本框中输入的文字个数 201
12.4.4限制文本框中输入的字数 202
12.4.5自动选择文本框中的文字 203
12.4.6改变多行文本框大小 204
12.5 DOM的本质是XML 205
12.5.1 XML的API概述 205
12.5.2认识节点的层次 205
12.5.3掌握特定语言的文档模型 206
12.6使用DOM 206
12.6.1访问相关的节点 206
12.6.2节点类型 208
12.6.3简单处理节点属性 209
12.6.4访问指定节点 211
12.6.5创建新节点 212
12.6.6.修改节点 213
12.7遍历DOM文档 214
12.8测试与DOM标准的一致性 216
12.9小结 216
12.10习题 217
第3篇JavaScript进阶与实战 220
第13章 正则表达式 220
13.1网页为什么要使用正则表达式 220
13.2正则表达式对象RegExp 220
13.3正则表达式的简单模式 221
13.3.1详解元字符 222
13.3.2详解量词 222
13.4正则表达式的复杂模式 224
13.4.1使用分组 224
13.4.2使用候选 225
13.4.3使用非捕获性分组 225
13.4.4使用前瞻 226
13.5正则表达式的常用模式 227
13.5.1使用正则验证日期 227
13.5.2使用正则验证电子邮件地址 228
13.6小结 230
13.7习题 230
第14章jQuery框架 233
14.1认识jQuery 233
14.1.1 jQuery的定义 233
14.1.2 jQuery与Ajax 234
14.1.3 jQuery与其他脚本库的区别 234
14.2搭建jQuery运行环境 235
14.2.1 jQuery库的选择 235
14.2.2 jQuery库的引入 236
14.2.3 jQuery的第一个例子 237
14.3 jQuery原理分析 238
14.3.1工作原理 238
14.3.2运行机制 238
14.3.3元素选择 240
14.3.4事件 241
14.4 jQuery对DIV层的操作 245
14.4.1 DIV的鼠标选取 245
14.4.2 DIV层的尺寸读取 246
14.4.3 DIV层的显示与隐藏 247
14.4.4 DIV内的内容控制 248
14.4.5 DIV层的定位 249
14.5小结 250
14.6习题 251
第15章 接元宝网页游戏 252
15.1创作思路及基本场景的实现 252
15.1.1创作思路 252
15.1.2实现基本场景及用户界面 253
15.2设计游戏角色 255
15.2.1财神对象 255
15.2.2元宝对象 256
15.3游戏进程控制 257
15.3.1初始化游戏 257
15.3.2游戏启动控制 257
15.3.3游戏循环 258
15.3.4游戏结束控制 258
15.3.5碰撞检测 259
15.3.6运行测试 259
15.4小结 260