第1章 JavaScript基础 1
1.1 JavaScript简介 2
1.1.1 JavaScript版本 2
1.1.2 JavaScript特点 2
1.2 JavaScript编程工具 2
1.2.1 下载安装Visual Studio Community 2017 3
1.2.2 使用Visual Studio 4
1.2.3 使用浏览器开发人员工具 7
1.3 在HTML中使用JavaScript 8
1.3.1 使用〈script〉标记嵌入脚本 8
1.3.2 使用〈script〉标记链接脚本 10
1.3.3 作为事件处理程序 12
1.3.4 作为URL 13
1.4 JavaScript基本语法 13
1.4.1 大小写敏感 13
1.4.2 空格、换行符和制表符 14
1.4.3 语句结束符号 14
1.4.4 注释 14
1.4.5 标识符命名规则 15
1.5 编程实践:Hello,JavaScript 15
1.6 小结 16
1.7 习题 16
第2章 JavaScript核心语法基础 17
2.1 数据类型和变量 18
2.1.1 数据类型 18
2.1.2 变量 21
2.2 运算符与表达式 24
2.2.1 算术运算符 24
2.2.2 字符串运算符 25
2.2.3 关系运算符 26
2.2.4 逻辑运算符 28
2.2.5 位运算符 28
2.2.6 赋值运算符 29
2.2.7 特殊运算符 30
2.2.8 运算符的优先级 32
2.2.9 表达式中的数据类型转换 32
2.3 流程控制语句 34
2.3.1 if语句 34
2.3.2 switch语句 36
2.3.3 for循环 39
2.3.4 while循环 39
2.3.5 do/while循环 40
2.3.6 continue语句 41
2.3.7 break语句 42
2.4 编程实践:输出数字图形 43
2.5 小结 44
2.6 习题 44
第3章 数组和函数 45
3.1 数组 46
3.1.1 创建数组 46
3.1.2 使用数组 46
3.1.3 数组的属性 50
3.1.4 数组的方法 52
3.2 函数 57
3.2.1 定义函数 57
3.2.2 调用函数 58
3.2.3 带参数的函数 59
3.2.4 函数的嵌套 61
3.2.5 递归函数 62
3.3 内置函数 63
3.4 编程实践:模拟汉诺塔移动 65
3.5 小结 67
3.6 习题 68
第4章 异常和事件处理 69
4.1 异常处理 70
4.1.1 捕获和处理异常 70
4.1.2 抛出异常 71
4.2 事件处理 72
4.2.1 理解事件 72
4.2.2 注册事件处理程序 74
4.2.3 事件处理程序的调用 76
4.2.4 阻止事件传播 78
4.2.5 页面加载与卸载事件 79
4.2.6 鼠标事件 80
4.2.7 键盘事件 81
4.2.8 表单提交事件 82
4.3 编程实践:实现标记自由拖放 83
4.4 小结 84
4.5 习题 84
第5章 JavaScript对象 85
5.1 使用对象 86
5.1.1 什么是对象 86
5.1.2 创建对象 86
5.1.3 使用对象属性 87
5.1.4 对象的方法 88
5.1.5 构造函数 89
5.1.6 with语句 90
5.2 原型对象和继承 90
5.3 内置对象 91
5.3.1 Math对象 91
5.3.2 Date对象 93
5.3.3 String对象 95
5.4 编程实践:输出随机素数 97
5.5 小结 98
5.6 习题 98
第6章 浏览器对象 99
6.1 Window对象 100
6.1.1 Window对象层次结构 100
6.1.2 Window对象的常用属性和方法 100
6.1.3 定时操作 101
6.1.4 错误处理 102
6.1.5 Navigator对象 102
6.1.6 Screen对象 103
6.1.7 窗口操作 104
6.1.8 用ID引用HTML标记 106
6.2 Document对象 107
6.2.1 常用属性和方法 107
6.2.2 动态输出文档 107
6.2.3 了解DOM 109
6.2.4 获得HTML标记的引用 110
6.2.5 遍历文档结点 112
6.2.6 访问HTML标记属性 115
6.2.7 访问HTML标记内容 115
6.2.8 创建、添加和删除结点 116
6.3 表单对象 120
6.3.1 引用表单和表单元素 120
6.3.2 表单事件 120
6.4 编程实践:动态人员列表 121
6.5 小结 123
6.6 习题 123
第7章 AJAX 124
7.1 使用AJAX完成HTTP请求 125
7.1.1 AJAX概述 125
7.1.2 创建XMLHttpRequest对象 126
7.1.3 XMLHttpRequest对象常用属性 127
7.1.4 XMLHttpRequest对象常用方法 127
7.1.5 处理普通文本响应结果 131
7.1.6 处理XML响应结果 133
7.1.7 处理JSON响应结果 135
7.2 使用〈script〉完成HTTP请求 137
7.3 编程实践:用户注册页面 139
7.4 小结 145
7.5 习题 145
第8章 jQuery简介 146
8.1 了解jQuery 147
8.1.1 jQuery主要功能 147
8.1.2 jQuery主要特点 147
8.2 jQuery资源 147
8.2.1 下载jQuery 147
8.2.2 查看jQuery文档 149
8.2.3 jQuery学习中心 150
8.3 使用jQuery 150
8.3.1 引入jQuery 150
8.3.2 实例:访问HTML标记 151
8.3.3 实例:动态操作样式 152
8.3.4 实例:动画效果 152
8.4 编程实践:页面欢迎对话框 153
8.5 小结 154
8.6 习题 154
第9章 jQuery选择器和过滤器 155
9.1 jQuery()函数 156
9.1.1 匹配HTML标记 156
9.1.2 上下文 156
9.1.3 使用$(document).ready() 157
9.1.4 封装现有标记 157
9.1.5 使用链接方法调用 158
9.1.6 jQuery命名空间 158
9.2 基础选择器 159
9.2.1 ID选择器 159
9.2.2 类名选择器 160
9.2.3 元素选择器 161
9.2.4 复合选择器 161
9.2.5 通配符选择器 161
9.3 层级选择器 162
9.3.1 祖孙选择器 162
9.3.2 父子选择器 163
9.3.3 相邻结点选择器 163
9.3.4 兄弟结点选择器 164
9.4 过滤器 165
9.4.1 基础过滤器 165
9.4.2 内容过滤器 166
9.4.3 子元素过滤器 166
9.4.4 可见性过滤器 167
9.4.5 表单过滤器 168
9.4.6 属性过滤器 169
9.5 编程实践:带提示的课表 170
9.6 小结 171
9.7 习题 171
第10章 操作页面元素 172
10.1 元素内容操作 173
10.1.1 html()和text() 173
10.1.2 val() 173
10.1.3 attr() 174
10.2 插入结点 175
10.2.1 append()和appendTo() 175
10.2.2 prepend()和prependTo() 177
10.2.3 after()和insertAfter() 179
10.2.4 before()和insertBefore() 180
10.3 包装结点 182
10.3.1 wrap()方法 182
10.3.2 wrapAll()方法 183
10.3.3 wrapInner()方法 184
10.3.4 unwrap()方法 184
10.4 替换结点 185
10.4.1 replaceWith() 185
10.4.2 replaceAll() 187
10.5 删除结点 187
10.5.1 empty() 187
10.5.2 remove() 188
10.5.3 detach() 188
10.6 复制结点 189
10.7 样式操作 190
10.7.1 css()方法 190
10.7.2 CSS类操作方法 191
10.8 编程实践:jQuery版的动态人员列表 192
10.9 小结 193
10.10 习题 193
第11章 jQuery事件处理 194
11.1 jQuery事件对象 195
11.1.1 事件对象构造函数 195
11.1.2 事件对象属性 195
11.1.3 事件对象方法 196
11.2 附加和解除事件处理函数 197
11.2.1 附加事件处理函数 197
11.2.2 解除事件处理函数 198
11.3 事件快捷方法 199
11.3.1 浏览器事件快捷方法 199
11.3.2 表单事件快捷方法 199
11.3.3 键盘事件快捷方法 200
11.3.4 鼠标事件快捷方法 200
11.4 编程实践:jQuery版的自由拖放 201
11.5 小结 202
11.6 习题 202
第12章 jQuery特效 203
12.1 简单特效 204
12.1.1 隐藏元素 204
12.1.2 显示元素 205
12.1.3 隐藏/显示切换 207
12.2 透明度特效 208
12.2.1 淡入效果 208
12.2.2 淡出效果 208
12.2.3 调整透明度 209
12.2.4 淡入淡出切换 209
12.3 滑动特效 210
12.3.1 滑入效果 210
12.3.2 滑出效果 210
12.3.3 滑入滑出切换效果 211
12.4 自定义动画 212
12.4.1 直接量动画 212
12.4.2 相对量动画 212
12.4.3 自定义显示或隐藏 213
12.4.4 位置动画 213
12.5 动画相关的属性和方法 214
12.5.1 动画延时 214
12.5.2 停止动画 215
12.5.3 结束动画 215
12.5.4 禁止动画效果 215
12.6 编程实践:永不停止的动画 215
12.7 小结 216
12.8 习题 216
第13章 jQuery AJAX 217
13.1 加载服务器数据 218
13.1.1 加载简单数据 218
13.1.2 筛选加载的数据 218
13.1.3 向服务器提交数据 219
13.1.4 指定回调函数 219
13.1.5 执行脚本 220
13.2 get()方法和post()方法 220
13.2.1 get()方法 221
13.2.2 post()方法 221
13.3 获取JSON数据 222
13.4 获取脚本 222
13.5 事件处理 223
13.5.1 AJAX事件 223
13.5.2 全局AJAX事件方法 224
13.6 编程实践:实现颜色动画 225
13.7 小结 226
13.8 习题 226
第14章 在线咨询服务系统 227
14.1 系统设计 228
14.1.1 系统功能分析 228
14.1.2 开发工具选择 228
14.2 安装和使用MySQL 228
14.2.1 安装MySQL 228
14.2.2 管理MySQL服务器 233
14.3 系统实现 236
14.3.1 创建实例网站 236
14.3.2 实现商品咨询功能 237
14.4 小结 253
14.5 习题 253
参考答案 255