第一篇 基础篇 1
第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的发展趋势 3
1.2简单的脚本语言 3
1.2.1认识脚本语言 3
1.2.2脚本语言的分类 3
1.2.3 JavaScript的作用 4
1.2.4 JavaScript和其他语言的异同 4
1.2.5 JavaScript与Java的异同 4
1.3第一个JavaScript程序 4
1.3.1预备知识 5
1.3.2选择JavaScript编辑器 5
1.3.3编写“Hello World”程序 6
1.3.4浏览器对JavaScript的支持 7
1.4注意事项 8
1.4.1大小写敏感 8
1.4.2注意空格与换行 8
1.4.3分号可有可无 9
1.5小结 9
1.6习题 10
第2章 数据类型 12
2.1基本数据类型 12
2.1.1字符串型数据 12
2.1.2深入理解字符串 13
2.1.3使用数值型数据 14
2.1.4使用布尔型数据 16
2.2复合数据类型 17
2.2.1常用内置对象 17
2.2.2常用日期对象 18
2.2.3理解全局对象 20
2.2.4常用数学对象 21
2.2.5常用字符串对象 23
2.2.6掌握数组对象 24
2.3其他数据类型 26
2.3.1使用函数 26
2.3.2使用空值 27
2.3.3使用不确定的类型 28
2.4数据类型的转换 29
2.4.1隐式类型转换 29
2.4.2显式类型转换 30
2.5小结 30
2.6习题 31
第3章 变量和常量 35
3.1常量 35
3.1.1常量分类 35
3.1.2使用常量 35
3.2变量 36
3.2.1什么是变量 36
3.2.2如何定义变量 37
3.2.3变量的命名 39
3.2.4变量的作用范围 40
3.2.5变量的用途 41
3.3 JavaScript关键字详解 42
3.4小结 42
3.5习题 43
第4章 表达式与运算符 46
4.1什么是表达式 46
4.2什么是操作数 47
4.3运算符概述 48
4.3.1什么是运算符 48
4.3.2操作数的分类 48
4.4算术运算符简介 49
4.4.1加法运算符 49
4.4.2减法运算符 49
4.4.3乘法运算符 50
4.4.4除法运算符 51
4.4.5取模运算符 51
4.4.6负号运算符 52
4.4.7正号运算符 52
4.4.8递增运算符 53
4.4.9递减运算符 54
4.5关系运算符简介 55
4.5.1相等运算符 55
4.5.2等同运算符 56
4.5.3不等运算符 56
4.5.4不等同运算符 58
4.5.5小于运算符 58
4.5.6大于运算符 59
4.5.7小于或等于运算符 60
4.5.8大于或等于运算符 61
4.5.9 in运算符 61
4.5.10 instanceof运算符 62
4.6字符串运算符简介 63
4.7赋值运算符简介 63
4.8逻辑运算符简介 64
4.8.1逻辑与运算符 64
4.8.2逻辑或运算符 65
4.8.3逻辑非运算符 66
4.9位运算符简介 66
4.9.1位与运算符 66
4.9.2位或运算符 67
4.9.3位异或运算符 67
4.9.4位非运算符 68
4.9.5左移运算符 69
4.9.6带符号右移运算符 70
4.9.7高位补0右移运算符 70
4.10其他运算符 70
4.10.1条件运算符 71
4.10.2 new运算符 71
4.10.3 void运算符 71
4.10.4类型检测运算符 72
4.10.5对象属性存取运算符 72
4.10.6数组存取运算符 73
4.10.7 delete运算符 74
4.10.8逗号运算符 74
4.10.9函数调用运算符 75
4.10.10 this运算符 76
4.11掌握运算符的优先级 76
4.12小结 78
4.13习题 78
第5章 控制语句 81
5.1使用选择语句 81
5.1.1 if选择语句 81
5.1.2 if-else选择语句 83
5.1.3 if-else-if选择语句 84
5.1.4 switch多条件选择语句 85
5.1.5选择语句综合示例 86
5.2使用循环语句 88
5.2.1 for循环语句 88
5.2.2 while循环语句 89
5.2.3 do-while循环语句 90
5.2.4 for-in循环语句 91
5.2.5 break和continue跳转语句 91
5.2.6循环语句综合示例 92
5.3使用异常处理语句 93
5.3.1 try-catch语句 93
5.3.2 try-catch-finally语句 94
5.3.3 throw语句 95
5.3.4异常处理语句综合示例 96
5.4小结 97
5.5习题 98
第6章 函数 103
6.1函数的功能 103
6.2函数的定义 103
6.2.1函数的普通定义方式 103
6.2.2函数的变量定义方式 106
6.2.3函数的指针调用方式 107
6.2.4认识函数参数 108
6.2.5认识arguments对象 108
6.3函数返回类型 109
6.3.1值类型 110
6.3.2引用类型 110
6.3.3使用返回函数 110
6.4函数的分类 111
6.4.1构造函数 111
6.4.2有返回值的函数 111
6.4.3无返回值的函数 111
6.5函数的作用域 112
6.5.1公有函数的作用域 112
6.5.2私有函数的作用域 112
6.5.3使用this关键字 113
6.6小结 114
6.7习题 114
第7章 数组 119
7.1数组简介 119
7.1.1简单介绍数组概念 119
7.1.2认识数组元素 119
7.1.3掌握多维数组 120
7.2如何创建一个数组 120
7.2.1创建空数组 120
7.2.2指定数组长度创建新数组 120
7.2.3指定数组元素创建新数组 121
7.2.4直接创建新数组 121
7.3数组元素基本操作 121
7.3.1提取数据——读取数组元素 122
7.3.2添加数据——添加数组元素 122
7.3.3删除数据——删除数组元素 122
7.3.4详解数组元素个数 122
7.4数组对象常见操作 123
7.4.1字符转换——数组转换为字符串 123
7.4.2字符连接——数组元素连接成字符串 123
7.4.3数据添加——在数组尾部添加元素 124
7.4.4数据更新——删除数组的最后一个元素 125
7.4.5删除数据——移除数组顶端的元素 126
7.4.6添加数据——在数组头部添元素 127
7.4.7扩充数组——添加元素并生成新数组 128
7.4.8更新移动数据——删除、替换或插入数组元素 129
7.4.9生成特定数据——获取数组中的一部分元素 131
7.4.10置换数据——颠倒数组元素的顺序 131
7.4.11数据排序——对数组元素进行排序 132
7.4.12数据转换——将对象转换为本地字符串 134
7.5小结 135
7.6习题 135
第二篇 对象篇 138
第8章 JavaScript面向对象基础 138
8.1面向对象概念 138
8.1.1面向对象中的语言 138
8.1.2对象的构成方式 139
8.2对象应用 139
8.2.1详解对象声明和实例化 139
8.2.2详解对象的引用 141
8.2.3详解对象的废除 141
8.2.4详解对象的早绑定和晚绑定 142
8.3 JavaScript的对象层次 142
8.3.1 JavaScript对象模型结构 142
8.3.2客户端对象层次简单介绍 143
8.3.3浏览器对象模型详解 143
8.4事件驱动与事件处理 144
8.4.1详解事件与事件驱动 144
8.4.2掌握事件与处理代码关联 145
8.4.3函数调用事件 146
8.4.4代码调用事件 147
8.4.5掌握设置对象事件的方法 148
8.4.6掌握显式调用事件处理程序 149
8.4.7事件处理程序的返回值 149
8.4.8事件与this运算符 151
8.5常用事件 152
8.5.1详解浏览器事件 152
8.5.2详解鼠标移动事件 152
8.5.3详解鼠标单击事件 153
8.5.4详解加载与卸载事件 154
8.5.5详解得到焦点与失去焦点事件 154
8.5.6详解键盘事件 154
8.5.7详解提交与重置事件 155
8.5.8详解选择与改变事件 155
8.6小结 156
8.7习题 156
第9章 窗口和框架 159
9.1 window对象 159
9.1.1认识window对象 159
9.1.2认识window对象的使用方法 159
9.2 window对象事件及使用方法 160
9.2.1装进去——装载文档 161
9.2.2卸下来——卸载文档 161
9.2.3焦点处理——得到焦点与失去焦点 162
9.2.4调整窗口的大小 163
9.2.5对错误进行处理 164
9.3对话框 165
9.3.1过滤错误——警告对话框 165
9.3.2信息确认——询问对话框 166
9.3.3信息录入——输入对话框 167
9.4状态栏 167
9.4.1详解状态栏 168
9.4.2认识默认状态栏信息 168
9.4.3认识状态栏瞬间信息 168
9.5窗口操作 169
9.5.1打开一个新窗口 169
9.5.2认识窗口名字 170
9.5.3如何关闭窗口 171
9.5.4对窗口进行引用 172
9.5.5对文档进行滚动 173
9.6超时与时间间隔 174
9.6.1对代码延迟执行 175
9.6.2认识周期性执行代码 175
9.6.3停止执行周期性执行代码 176
9.6.4取消延迟代码执行 177
9.7框架操作 178
9.7.1框架简介 178
9.7.2详解父窗口与子窗口 178
9.7.3详解窗口之间的关系 180
9.7.4认识窗口名字 180
9.8小结 180
9.9习题 181
第10章 屏幕和浏览器对象 184
10.1认识屏幕对象 184
10.1.1利用屏幕对象检测显示器参数 184
10.1.2利用屏幕对象检测客户端显示器屏幕分辨率 185
10.1.3利用屏幕对象检测客户端显示器屏幕的有效宽度和高度 186
10.1.4利用屏幕对象进行网页开屏 187
10.2认识浏览器对象 188
10.2.1获取浏览器对象的属性值 188
10.2.2 MimeType对象和Plugin对象详解 189
10.2.3浏览器对象的javaEnabled属性详解 190
10.3小结 191
10.4习题 191
第11章 文档对象 194
11.1文档对象概述 194
11.1.1初识文档对象 194
11.1.2详解文档对象的使用方法 194
11.1.3对标签中的值进行引用 195
11.1.4详解引用文档中对象的方法 196
11.2文档对象的应用 198
11.2.1美化链接——设置超链接的颜色 198
11.2.2美化网页——设置网页背景颜色和默认文字颜色 199
11.2.3设置文档信息 200
11.2.4如何在标题栏中显示滚动信息 201
11.2.5如何防止盗链 202
11.2.6详解在网页中输出内容 203
11.2.7详解在其他文档中输出内容 203
11.2.8详解输出非HTML文档 205
11.2.9认识文档中的所有HTML元素 206
11.2.10如何引用文档中的HTML元素 207
11.2.11如何引用文档元素中的子元素 208
11.3图像对象 209
11.3.1图像对象概述 209
11.3.2如何创建和使用图像对象 210
11.3.3掌握图像对象的onerror事件 211
11.3.4掌握显示图片的信息 212
11.3.5对图片进行置换 213
11.3.6认识随机图片 214
11.3.7动态改变图片大小 215
11.4链接对象 217
11.4.1链接对象简介 217
11.4.2掌握感知鼠标移动事件 217
11.4.3对一个网页上的所有超链接进行查看 218
11.4.4认识翻页程序 219
11.4.5认识网站目录 221
11.5锚对象 223
11.5.1锚对象简介 223
11.5.2认识锚对象与链接对象的区别 223
11.5.3巧建文档索引 224
11.6小结 225
11.7习题 226
第12章 历史对象和地址对象 230
12.1历史对象 230
12.1.1历史对象简介 230
12.1.2如何前进到上一页和后退到下一页 230
12.1.3如何实现页面的跳转 232
12.2地址对象 233
12.2.1 URL对象简介 233
12.2.2如何获取指定地址的各属性值 233
12.2.3如何加载新网页 234
12.2.4如何获取参数 235
12.2.5如何装载新文档与重新装载当前文档 236
12.2.6如何刷新文档 237
12.2.7如何加载新文档 238
12.3小结 239
12.4习题 240
第13章 表单对象和表单元素 242
13.1表单对象概述 242
13.1.1表单对象简介 242
13.1.2对大小写进行转换 242
13.1.3表单的提交和重置 244
13.1.4响应表单的提交和重置 245
13.2表单对象的应用 246
13.2.1如何进行表单验证 246
13.2.2认识循环验证表单 248
13.2.3掌握设置表单的提交方式 249
13.2.4认识重置表单的提示 250
13.2.5如何不使用提交按钮来提交表单 251
13.3表单元素 253
13.3.1表单元素简介 253
13.3.2表单元素的命名方式 253
13.4文本框 255
13.4.1认识文本框的创建方式 255
13.4.2如何查看文本框的属性值 255
13.4.3如何动态跟踪文本框中输入的文字个数 256
13.4.4如何限制文本框中输入的字数 257
13.4.5如何自动选择文本框中的文字 258
13.5按钮 259
13.5.1按钮简介 259
13.5.2按钮创建方式简介 259
13.5.3认识网页调色板 259
13.5.4如何改变多行文本框大小 261
13.6小结 262
13.7习题 262
第14章 脚本化cookie 266
14.1 cookie对象简介 266
14.1.1什么是cookie对象 266
14.1.2 cookie的作用和检测用户浏览器是否支持cookie 266
14.2如何创建与读取cookie 267
14.3如何获取cookie的值 268
14.4认识cookie的编码 270
14.5掌握cookie的生存期 272
14.6掌握cookie的路径和域 273
14.7了解cookie的安全性 274
14.8掌握使用cookie的注意事项 276
14.9小结 276
14.10习题 277
第三篇 高级技术篇 282
第15章 JavaScript与XML技术 282
15.1 XML简介 282
15.1.1针对XML的API概述 282
15.1.2认识节点的层次 282
15.1.3掌握特定语言的文档模型 283
15.2使用DOM 283
15.2.1巧妙访问相关的节点 284
15.2.2巧测节点类型 285
15.2.3简单处理节点属性 286
15.2.4如何访问指定节点 287
15.2.5如何创建新节点 289
15.2.6如何修改节点 290
15.3 HTML DOM特性 291
15.3.1让特性像属性一样 292
15.3.2认识表格相关特性 293
15.4遍历DOM文档 294
15.4.1认识文档节点迭代器 294
15.4.2巧妙遍历文档树 295
15.5如何测试与DOM标准的一致性 297
15.6小结 298
15.7习题 298
第16章 正则表达式 301
16.1正则表达式基础 301
16.1.1为何使用正则表达式 301
16.1.2使用RegExp对象 301
16.2简单模式 302
16.2.1详解元字符 302
16.2.2详解量词 303
16.3复杂模式 304
16.3.1使用分组 305
16.3.2使用候选 305
16.3.3使用非捕获性分组 306
16.3.4使用前瞻 307
16.4常用模式 308
16.4.1使用正则表达式验证日期 308
16.4.2使用正则表达式验证电子邮件地址 309
16.5小结 311
16.6习题 311
第17章 Ajax基础 315
17.1了解传统的Web技术及Ajax的由来 315
17.2 Ajax技术原理简介 316
17.3 Ajax技术的优缺点分析 316
17.4认识Ajax技术的组成部分 317
17.4.1 Ajax中的JavaScript技术 317
17.4.2 Ajax中的XMLHttpRequest技术 317
17.4.3 Ajax中的CSS技术 317
17.4.4 Ajax中的DOM技术 318
17.4.5 Ajax中的XML技术 318
17.5 XMLHttpRequest对象简介 318
17.5.1 XMLHttpRequest简介 318
17.5.2 XMLHttpRequest如何创建 318
17.6局部更新 319
17.7实现Ajax 321
17.7.1详解实现Ajax的步骤 321
17.7.2如何创建HTTP请求 321
17.7.3如何设置HTTP响应回调函数 322
17.7.4如何发送HTTP请求 322
17.7.5一个完整的Ajax实例 322
17.8小结 324
17.9习题 324
第18章 Ajax高级应用 329
18.1客户端脚本语言详解 329
18.1.1如何使用JavaScript的局部刷新技术 329
18.1.2如何使用iframe的局部刷新技术 330
18.2服务器脚本语言详解 332
18.2.1掌握改进的iframe局部刷新 332
18.2.2掌握Ajax与服务器互动 333
18.3小结 335
18.4习题 335
第19章 JavaScript与插件 339
19.1掌握ActiveX控件的应用 339
19.1.1创建ActiveX控件 339
19.1.2添加ATL控件 341
19.1.3为控件添加属性 342
19.1.4为实现类添加成员变量 342
19.1.5改写相关函数 342
19.1.6添加事件功能 345
19.1.7添加事件激发功能 346
19.1.8编译生成控件 347
19.1.9使用ActiveX控件 348
19.2 JavaApplet 350
19.2.1如何安装JDK 351
19.2.2如何创建Applet 352
19.2.3如何使用Applet 353
19.3 Flash概述 354
19.3.1如何创建Flash 355
19.3.2认识Flash与JavaScript的交互 358
19.4小结 360
19.5习题 360
第20章 JavaScript的调试与优化 367
20.1 JavaScript开发工具深入剖析 367
20.2 JavaScript的调试简介 368
20.2.1如何进行调试前的准备工作 368
20.2.2如何进行调试 369
20.2.3如何跟踪代码 370
20.3对日志进行输出 371
20.4对代码进行优化 373
20.5小结 375
20.6习题 376
第四篇 综合案例篇 378
第21章 捡馅饼游戏 378
21.1创作思路及基本场景的实现 378
21.1.1创作思路 378
21.1.2实现基本场景及用户界面 378
21.2设计游戏角色 381
21.2.1馅对象 381
21.2.2饼对象 382
21.3游戏进程控制 385
21.3.1初始化游戏 385
21.3.2游戏启动控制 385
21.3.3游戏循环 387
21.3.4游戏结束控制 388
21.3.5运行测试 389
21.4小结 390