第一部分 入门知识 1
第1学时 理解JavaScript 1
1.1 学习脚本的基础知识 1
1.1.1 脚本和编程 1
1.1.2 介绍JavaScript 2
1.2 怎样在网页中嵌入JavaScript 2
1.3 浏览器和JavaScript 4
1.3.1 Netscape和Internet Explorer 4
1.3.2 JavaScript的版本 4
1.4 JavaScript之外的选择 5
1.4.1 Java 5
1.4.2 ActiveX 5
1.4.3 VBScript 6
1.4.4 CGI和服务器端脚本编程 6
1.5 课时小结 6
1.6 专家答疑 7
1.7 思考题 7
1.7.1 问题 7
1.7.2 解答 8
1.8 练习题 8
第2学时 编写一个简单的脚本 9
2.1 编写脚本所需要的工具 9
2.2 现在是什么时间 10
2.3 脚本的开始 10
2.4 加入JavaScript语句 11
2.4.1 在变量中存储数据 11
2.4.2 计算结果 11
2.5 创建输出 12
2.6 将脚本加入网页 12
2.7 测试脚本 13
2.7.1 修改脚本 14
2.7.2 制造错误 15
2.8 课外作业:在早期的浏览器中隐藏脚本 16
2.9 课时小结 16
2.10 专家答疑 16
2.11 思考题 17
2.11.1 问题 17
2.11.2 解答 18
2.12 练习题 18
第3学时 通览JavaScript的功能 19
3.1 为网站的用户界面增色 19
3.1.1 使用状态栏 19
3.1.2 浏览帮助 20
3.1.3 弹出式窗口和其他功能 20
3.2 图像和动画 21
3.3 验证表单 22
3.4 检测浏览器版本 23
3.5 处理插件 24
3.6 复杂脚本 24
3.7 课外作业:拷贝脚本 25
3.8 课时小结 26
3.9 专家答疑 27
3.10 思考题 27
3.10.1 问题 27
3.10.2 解答 27
3.11 练习题 28
第4学时 JavaScript程序如何运行 29
4.1 把任务和函数联系起来 29
4.2 理解对象 29
4.3 处理事件 30
4.4 条件语句 31
4.5 循环 31
4.6 脚本会首先做什么 31
4.7 课外作业:使用注释 32
4.8 课时小结 32
4.9 专家答疑 32
4.10 思考题 33
4.10.1 问题 33
4.10.2 解答 33
4.11 练习题 33
第二部分 JavaScript的基础知识 35
第5学时 使用变量和函数 35
5.1 使用函数 35
5.1.1 定义函数 35
5.1.2 调用函数 36
5.1.3 返回值 38
5.2 使用变量 39
5.2.1 选择变量的名字 39
5.2.2 使用局部和全局变量 39
5.2.3 给变量赋值 41
5.3 JavaScript中的数据类型 42
5.4 数据类型间的转换 42
5.5 课外作业:在变量中存储用户数据 43
5.6 课时小结 44
5.7 专家答疑 44
5.8 思考题 45
5.8.1 问题 45
5.8.2 解答 45
5.9 练习题 46
第6学时 使用字符串和数组 47
6.1 使用String对象 47
6.1.1 创建String对象 47
6.1.2 为变量赋值 48
6.1.3 计算字符串的长度 49
6.1.4 转换字符串的大小写 49
6.2 处理子字符串 50
6.2.1 使用字符串的一部分 50
6.2.2 获得一个字符 50
6.2.3 查找子字符串 50
6.3 使用数值数组 51
6.3.1 创建一个数值数组 51
6.3.2 访问数组元素 52
6.4 使用字符串数组 52
6.4.1 创建字符串数组 52
6.4.2 分割字符串 52
6.4.3 对数组排序 53
6.5 课外作业:显示滚动消息 53
6.6 课时小结 55
6.7 专家答疑 55
6.8 思考题 55
6.8.1 问题 55
6.8.2 解答 56
6.9 练习题 56
第7学时 数值的检验和比较 57
7.1 if语句 57
7.1.1 条件运算符 58
7.1.2 用逻辑运算符连接条件 58
7.1.3 else关键字 59
7.2 使用条件表达式 59
7.3 使用switch的多条件 60
7.4 课外作业:检验用户的响应 61
7.5 课时小结 62
7.6 专家答疑 63
7.7 思考题 63
7.7.1 问题 63
7.7.2 解答 64
7.8 练习题 64
第8学时 重复计算:使用循环 65
8.1 使用for循环 65
8.2 使用while循环 66
8.3 使用do...while循环 67
8.4 处理循环 67
8.4.1 建立一个无限循环 67
8.4.2 跳出循环 68
8.4.3 继续循环 68
8.5 使用for...in循环 69
8.6 课外作业:处理数组和循环 69
8.7 课时小结 71
8.8 专家答疑 71
8.9 思考题 72
8.9.1 问题 72
8.9.2 解答 72
8.10 练习题 72
第三部分 JavaScript的高级功能 73
第9学时 使用内建对象 73
9.1 对象是什么 73
9.1.1 创建对象 73
9.1.2 对象的属性和值 74
9.1.3 理解方法 74
9.1.4 使用with关键字 74
9.2 Math对象 75
9.2.1 取整和截断 75
9.2.2 生成随机数 75
9.3 处理日期 76
9.3.1 创建date对象 76
9.3.2 设置日期值 76
9.3.3 获得日期值 76
9.3.4 处理时区问题 77
9.3.5 日期格式间的转换 77
9.4 课外作业:处理Math对象 77
9.5 课时小结 79
9.6 专家答疑 80
9.7 思考题 80
9.7.1 问题 80
9.7.2 解答 80
9.8 练习题 81
第10学时 使用文档对象模型 82
10.1 理解文档对象模型 82
10.2 DOM的历史 83
10.3 使用window对象 83
10.4 处理Web文档 84
10.5 在文档上写入文本 85
10.6 清除和重写文档 85
10.7 使用链接和锚 86
10.8 访问浏览器的历史信息 86
10.9 使用location对象 87
10.10 读取关于浏览器的信息 87
10.11 课外作业:创建Back和Forward按钮 88
10.12 课时小结 89
10.13 专家答疑 89
10.14 思考题 90
10.14.1 问题 90
10.14.2 解答 90
10.15 练习题 90
第11学时 编写自定义对象 91
11.1 使用对象简化脚本 91
11.2 创建一个对象的实例 92
11.3 自定义内建对象 93
11.4 课外作业:在对象中存储数据 94
11.5 课时小结 95
11.6 专家答疑 96
11.7 思考题 96
11.7.1 问题 96
11.7.2 解答 96
11.8 练习题 97
第12学时 响应事件 98
12.1 理解事件处理程序 98
12.1.1 对象和事件 98
12.1.2 编写一个事件处理程序 99
12.1.3 使用JavaScript改变事件处理程序 99
12.1.4 使用event对象 100
12.2 使用鼠标事件 100
12.2.1 Over和Out 100
12.2.2 Up和Down 101
12.3 使用键盘事件 102
12.4 使用onLoad事件 102
12.5 课外作业:在网页中加入链接描述 103
12.6 课时小结 104
12.7 专家答疑 105
12.8 思考题 106
12.8.1 问题 106
12.8.2 解答 106
12.9 练习题 106
第四部分 处理网页 107
第13学时 使用窗口和图文框 107
13.1 用对象控制窗口 107
13.1.1 建立一个新窗口 107
13.1.2 打开和关闭窗口 108
13.2 使用超时设定 109
13.3 显示对话框 111
13.4 处理图文框 113
13.4.1 使用JavaScript对象处理图文框 113
13.4.2 图文框数组 114
13.5 课外作业:建立一个导航图文框 114
13.6 课时小结 116
13.7 专家答疑 116
13.8 思考题 117
13.8.1 问题 117
13.8.2 解答 117
13.9 练习 117
第14学时 用表单获得数据 118
14.1 HTML表单的基础 118
14.2 用JavaScript使用form对象 119
14.2.1 form对象的属性 119
14.2.2 提交和复位表单 119
14.2.3 检测表单事件 119
14.3 编写表单元素 120
14.3.1 文本字段 120
14.3.2 文本域 121
14.3.3 在表单中处理文本 121
14.3.4 按钮 121
14.3.5 复选框 122
14.3.6 单选按钮 122
14.3.7 下拉列表 123
14.4 从表单中显示数据 124
14.5 用电子邮件发送表单结果 126
14.6 课外作业:确认一个表单 126
14.7 课时小结 127
14.8 专家答疑 128
14.9 思考题 129
14.9.1 问题 129
14.9.2 解答 129
14.10 练习题 129
第15学时 使用图像和动画 130
15.1 用JavaScript处理图像映射 130
15.2 在JavaScript中使用动态图像 132
15.2.1 使用images数组 132
15.2.2 预先载入图像 133
15.3 建立滚过效果 133
15.4 课外作业:创建一个简单的动画 135
15.4.1 创建图像 135
15.4.2 创建HTML文档 136
15.4.3 定义变量 136
15.4.4 使动画动起来 137
15.4.5 综合 137
15.5 课时小结 139
15.6 专家答疑 139
15.7 思考题 140
15.7.1 问题 140
15.7.2 解答 140
15.8 练习题 141
第16学时 创建跨浏览器脚本 142
16.1 读浏览器信息 142
16.1.1 显示浏览器信息 143
16.1.2 处理不诚实的浏览器 144
16.2 使用JavaScript支持浏览器 146
16.2.1 创建一个特定浏览器的页面 146
16.2.2 分出独立的页面 146
16.2.3 制作多浏览器的页面 147
16.3 支持没有JavaScript功能的浏览器 147
16.4 课外作业:编写多浏览器脚本 148
16.5 课时小结 149
16.6 专家答疑 150
16.7 思考题 150
16.7.1 问题 150
16.7.2 解答 150
16.8 练习题 151
第五部分 编写高级Web脚本 153
第17学时 使用样式表单 153
17.1 样式和实质 153
17.2 定义和使用CSS样式 154
17.2.1 创建规则 154
17.2.2 排列文本 155
17.2.3 改变颜色和背景图案 155
17.2.4 处理字体 156
17.2.5 页边距和边界 156
17.3 创建一个简单的样式表单 156
17.4 使用外部的样式表单 158
17.5 用JavaScript控制样式 158
17.6 课外作业:创建动态样式 159
17.7 课时小结 162
17.8 专家答疑 162
17.9 思考题 162
17.9.1 问题 162
17.9.2 解答 163
17.10 练习题 163
第18学时 使用DOM建立动态页面 164
18.1 理解DOM的结构 164
18.1.1 节点 165
18.1.2 父与子 165
18.1.3 兄弟 165
18.2 创建可定位的元素 166
18.2.1 设置定位的属性 166
18.2.2 使用JavaScript控制定位 167
18.2.3 处理老的浏览器 167
18.3 课外作业:创建动态HTML动画 168
18.4 课时小结 169
18.5 专家答疑 170
18.6 思考题 171
18.6.1 问题 171
18.6.2 解答 171
18.7 练习题 171
第19学时 使用高级DOM特征 172
19.1 处理DOM节点 172
19.1.1 基本节点属性 172
19.1.2 节点关系属性 173
19.1.3 文档方法 173
19.1.4 节点方法 173
19.2 隐藏和显示对象 173
19.3 改变页面中的文本 176
19.4 向页面中添加文本 176
19.5 课外作业:一个更好的滚动消息 178
19.6 课时小结 180
19.7 专家答疑 180
19.8 思考题 181
19.8.1 问题 181
19.8.2 解答 181
19.9 练习题 181
第20学时 处理多媒体和插件 182
20.1 插件和LiveConnect的简介 182
20.1.1 理解MIME类型 183
20.1.2 LiveConnect是如何工作的 183
20.2 处理插件对象 183
20.2.1 检验插件 184
20.2.2 给出插件列表 184
20.2.3 在插件中使用对象 185
20.3 课外作业:用鼠标来播放音乐 186
20.3.1 嵌入声音 186
20.3.2 显示钢琴的键盘 186
20.3.3 播放声音 187
20.3.4 总汇 187
20.4 课时小结 189
20.5 专家答疑 189
20.6 思考题 189
20.6.1 问题 189
20.6.2 解答 190
20.7 练习题 190
第六部分 综合运用 191
第21学时 发现并处理错误 191
21.1 避免出错 191
21.1.1 使用良好的编程习惯 191
21.1.2 避免常见的问题 192
21.2 基本调试工具 193
21.2.1 Netscape的JavaScript控制台 193
21.2.2 使控制台自动显示 194
21.2.3 在Internet Explorer中显示错误消息 194
21.2.4 警告消息和状态栏 194
21.3 Netscape的JavaScript调试器 195
21.3.1 安装调试器 195
21.3.2 调试器窗口 195
21.3.3 设置断点和中断 195
21.3.4 监视变量值 197
21.3.5 脚本的单步执行 197
21.4 课外作业:调试一个脚本 197
21.4.1 测试这个程序 198
21.4.2 修正错误 199
21.4.3 再次测试这个脚本 199
21.5 课时小结 201
21.6 专家答疑 201
21.7 思考题 201
21.7.1 问题 201
21.7.2 解答 202
21.8 练习题 202
第22学时 用JavaScript改进网页 203
22.1 创建HTML文档 203
22.2 为导航使用下拉式列表 204
22.2.1 为页面命名 205
22.2.2 创建数据结构和HTML 205
22.2.3 为导航栏创建函数 206
22.3 添加链接描述 206
22.4 添加图像链接 208
22.4.1 创建图像 208
22.4.2 创建事件处理程序 208
22.5 课外作业:对页面进行最后加工 209
22.6 课时小结 211
22.7 专家答疑 211
22.8 思考题 212
22.8.1 问题 212
22.8.2 解答 212
22.9 练习题 212
第23学时 创建一个JavaScript的游戏 213
23.1 设计程序 213
23.1.1 创建图像 213
23.1.2 选择变量 213
23.1.3 创建HTML文档 214
23.2 编写程序 215
23.2.1 处理Deal/Draw按钮 216
23.2.2 洗牌 216
23.2.3 发牌 217
23.2.4 持有和丢弃牌 218
23.2.5 发放新牌 218
23.2.6 计算得分 219
23.3 课外作业:总汇 221
23.4 课时小结 225
23.5 专家答疑 226
23.6 思考题 226
23.6.1 问题 226
23.6.2 解答 226
23.7 练习题 227
第24学时 展望未来 228
24.1 学习高级JavaScript技术 228
24.2 未来的Web技术 228
24.2.1 未来的JavaScript版本 228
24.2.2 未来的DOM版本 229
24.2.3 XML 229
24.2.4 XSL 229
24.3 为未来做计划 230
24.3.1 保持脚本的兼容性 230
24.3.2 坚持浏览器的兼容性 230
24.3.3 给所有的代码添加注释 231
24.4 课外作业:JavaScript的几点提示 231
24.5 课时小结 231
24.6 专家答疑 232
24.7 思考题 232
24.7.1 问题 232
24.7.2 解答 232
24.8 练习题 233
附录A 其他JavaScript资源 234
附录B JavaScript开发工具 236
附录C 词汇表 238
附录D JavaScript速查 241