第1篇 基础知识 3
第1章 初识JavaScript 3
1.1 JavaScript简述 3
1.1.1 JavaScript的起源 3
1.1.2 JavaScript的主要特点 3
1.1.3 JavaScript的应用 4
1.2 编写JavaScript的工具 6
l.3 JavaScript在HTML中的使用 7
1.3.1 在页面中直接嵌入JavaScript 7
1.3.2 链接外部JavaScript文件 10
1.3.3 作为特定标记的属性值使用 12
1.4 JavaScript基本语法 12
1.4.1 执行顺序 12
1.4.2 大小写敏感 12
1.4.3 空格与换行 13
1.4.4 每行结尾的分号可有可无 13
1.4.5 注释 13
1.5 小结 14
第2章 JavaScript基础 15
2.1 数据类型 16
2.1.1 数字型 16
2.1.2 字符串型 17
2.1.3 布尔型 18
2.1.4 特殊数据类型 19
2.2 常量和变量 20
2.2.1 常量 20
2.2.2 变量 21
2.3 运算符 23
2.3.1 算术运算符 23
2.3.2 比较运算符 24
2.3.3 赋值运算符 25
2.3.4 字符串运算符 25
2.3.5 逻辑运算符 26
2.3.6 条件运算符 26
2.3.7 其他运算符 27
2.3.8 运算符优先级 28
2.4 表达式 29
2.5 数据类型的转换规则 30
2.6 小结 31
2.7 实践与练习 31
第3章 流程控制 32
3.1 赋值语句 33
3.2 条件判断语句 33
3.2.1 简单if语句 33
3.2.2 if...else语句 34
3.2.3 if...else if语句 35
3.2.4 if语句的嵌套 38
3.2.5 switch语句 39
3.3 循环控制语句 41
3.3.1 while语句 42
3.3.2 do...while语句 43
3.3.3 for循环 44
3.4 跳转语句 45
3.4.1 continue语句 45
3.4.2 break语句 46
3.5 小结 48
3.6 实践与练习 48
第4章 函数 49
4.1 函数的定义 50
4.2 函数的调用 50
4.2.1 函数的简单调用 50
4.2.2 在事件响应中调用函数 52
4.2.3 通过超链接调用函数 52
4.3 函数参数的使用 53
4.4 使用函数的返回值 53
4.5 嵌套函数 54
4.6 递归函数 56
4.7 JavaScript中的内置函数 57
4.8 Function()构造函数与函数直接量 60
4.9 小结 62
4.10 实践与练习 62
第5章 JavaScript对象与数组 63
5.1 JavaScript内部对象 64
5.1.1 Object对象 64
5.1.2 String对象 67
5.1.3 Date对象 71
5.1.4 event对象 74
5.1.5 FileSystemObject对象 83
5.1.6 Drive对象 89
5.1.7 File对象 94
5.1.8 Folder对象 105
5.2 对象访问语句 107
5.2.1 for...in循环语句 107
5.2.2 with语句 108
5.3 JavaScript中的数组 109
5.3.1 创建Array对象 109
5.3.2 Array对象的输入/输出 110
5.3.3 Array对象的属性 111
5.3.4 Array对象的方法 113
5.3.5 数组的添加和删除 113
5.3.6 设置数组的排列顺序 116
5.3.7 获取数组中的某段数组元素 118
5.3.8 将数组转换成字符串 118
5.4 小结 120
5.5 实践与练习 120
第6章 字符串与数值处理对象 121
6.1 String对象 122
6.1.1 String对象的创建 122
6.1.2 String对象的属性 122
6.1.3 String对象的方法 125
6.2 数值处理对象 134
6.2.1 Math对象 134
6.2.2 Number对象 136
6.2.3 Boolean对象 141
6.3 小结 143
6.4 实践与练习 144
第7章 正则表达式 145
7.1 正则表达式基础 146
7.1.1 正则表达式的基本结构 146
7.1.2 正则表达式的作用 146
7.2 正则表达式语法 146
7.2.1 模式匹配符 147
7.2.2 定位符与原义字符 148
7.2.3 限定符与选择匹配符 151
7.2.4 字符匹配符 152
7.2.5 分组组合与反向引用符 154
7.2.6 实际应用 155
7.3 RegExp对象 157
7.3.1 创建RegExp对象 157
7.3.2 RegExp对象的属性 159
7.3.3 RegExp对象的方法 160
7.4 String对象中的模式匹配方法 162
7.5 小结 165
7.6 实践与练习 165
第8章 程序调试与错误处理 166
8.1 IE浏览器内建的错误报告 167
8.2 处理异常 167
8.2.1 异常类型 168
8.2.2 触发onerror事件处理异常 168
8.2.3 使用try...catch...finally语句处理异常 170
8.3 JavaScript语言调试技巧 174
8.3.1 使用alert()语句进行调试 174
8.3.2 使用write()语句进行调试 175
8.3.3 使用抛出自定义异常消息进行调试 175
8.4 小结 177
8.5 实践与练习 177
第2篇 核心技术 180
第9章 事件处理 180
9.1 事件与事件处理概述 181
9.1.1 事件与事件名称 181
9.1.2 JavaScript的常用事件 181
9.1.3 事件处理程序的调用 183
9.2 DOM事件模型 184
9.2.1 事件流 184
9.2.2 主流浏览器的事件模型 185
9.2.3 事件对象 185
9.2.4 注册与移除事件监听器 186
9.3 鼠标键盘事件 188
9.3.1 鼠标的单击事件 188
9.3.2 鼠标的按下或松开事件 189
9.3.3 鼠标的移入/移出事件 190
9.3.4 鼠标移动事件 191
9.3.5 键盘事件 192
9.4 页面相关事件 195
9.4.1 加载与卸载事件 195
9.4.2 页面大小事件 196
9.5 表单相关事件 197
9.5.1 获得焦点与失去焦点事件 197
9.5.2 失去焦点修改事件 199
9.5.3 表单提交与重置事件 200
9.6 滚动字幕事件 202
9.6.1 onbounce事件 202
9.6.2 onstart事件 203
9.7 编辑事件 204
9.7.1 文本编辑事件 205
9.7.2 对象拖动事件 209
9.8 小结 211
9.9 实践与练习 211
第10章 处理文档(document对象) 212
10.1 文档对象概述 213
10.2 文档对象的常用属性、方法与事件 213
10.2.1 document对象的属性 213
10.2.2 document对象的方法 214
10.2.3 document对象的事件 214
10.3 document对象的应用 215
10.3.1 超链接文字颜色设置 215
10.3.2 文档前景色和背景色设置 217
10.3.3 查看文档创建日期、修改日期和文档大小 218
10.3.4 动态标题栏 219
10.3.5 获取并设置URL 220
10.3.6 获取对象的当前状态 221
10.3.7 在文档中输出数据 222
10.3.8 打开新窗口并输出内容 223
10.3.9 动态添加一个HTML标记 225
10.3.10 获取文本框并修改其内容 226
10.4 小结 227
10.5 实践与练习 227
第11章 文档对象模型(DOM对象) 228
11.1 DOM概述 229
11.1.1 DOM分层 229
11.1.2 DOM级别 231
11.2 DOM对象节点属性 231
11.2.1 访问指定节点 231
11.2.2 遍历文档树 233
11.3 节点 236
11.3.1 创建节点 236
11.3.2 插入节点 238
11.3.3 复制节点 240
11.3.4 删除与替换节点 241
11.4 获取文档中的指定元素 243
11.4.1 通过元素的id属性获取元素 243
11.4.2 通过元素的name属性获取元素 244
11.5 与DHTML相对应的DOM 245
11.5.1 innerHTML和innerText属性 245
11.5.2 outerHTML和outerText属性 246
11.6 小结 248
11.7 实践与练习 248
第12章 window窗口对象 249
12.1 window对象 250
12.1.1 window对象的属性 250
12.1.2 window对象的方法 250
12.1.3 window对象的使用 251
12.2 对话框 252
12.2.1 警告对话框 252
12.2.2 询问回答对话框 253
12.2.3 提示对话框 253
12.3 窗口的打开与关闭 254
12.3.1 打开窗口 255
12.3.2 关闭窗口 257
12.4 控制窗口 259
12.4.1 移动窗口 260
12.4.2 改变窗口大小 262
12.4.3 窗口滚动 264
12.4.4 访问窗口历史 265
12.4.5 控制窗口状态栏 266
12.4.6 窗口时间与超时设定 268
12.5 窗口事件 269
12.5.1 通用窗口事件 269
12.5.2 扩展窗口事件 269
12.6 IE浏览器窗口扩展 270
12.6.1 模式窗口 270
12.6.2 无模式窗口 271
12.6.3 弹出窗口 271
12.7 小结 272
12.8 实践与练习 272
第13章 级联样式表 273
13.1 样式表简介 274
13.2 什么是CSS 274
13.3 CSS规则 276
13.4 利用Dreamweaver编写CSS代码 277
13.5 style对象 277
13.5.1 style对象简介 278
13.5.2 style对象的样式标签属性和样式属性 278
13.5.3 style元素对象的滤镜属性 298
13.5.4 style元素对象的方法 305
13.6 CSS选择器 307
13.6.1 标记选择器 307
13.6.2 类别选择器 309
13.6.3 id选择器 310
13.6.4 通用选择器 311
13.7 在页面中包含CSS 313
13.7.1 行内样式 313
13.7.2 内嵌样式表 314
13.7.3 链接式样式表 315
13.7.4 样式表作用的优先顺序 316
13.8 CSS的继承 318
13.8.1 HTML的继承关系 318
13.8.2 CSS继承的运用 320
13.9 小结 320
13.10 实践与练习 321
第14章 表单和表单元素 322
14.1 什么是表单 323
14.2 表单标记<form> 323
14.2.1 处理程序action属性 324
14.2.2 表单名称name属性 324
14.2.3 提交方式method属性 324
14.2.4 编码方式enctype属性 325
14.2.5 目标显示方式target属性 325
14.3 输入标记<input> 326
14.3.1 文字域text 326
14.3.2 密码域password 327
14.3.3 单选按钮radio 328
14.3.4 复选框checkbox 329
14.3.5 普通按钮button 329
14.3.6 提交按钮submit 330
14.3.7 重置按钮reset 330
14.3.8 图像域image 331
14.3.9 隐藏域hidden 332
14.3.10 文件域file 332
14.4 文本域标记<textarea> 333
14.5 菜单和列表标记<select>与<option> 334
14.6 利用Dreamweaver快速创建表单元素 335
14.7 在JavaScript中访问表单 337
14.8 在JavaScript中访问表单域 337
14.9 表单验证 338
14.10 小结 340
14.11 实践与练习 340
第3篇 高级应用 342
第15章 页面打印 342
15.1 用WebBrowser组件的execWB()方法进行打印 343
15.2 打印指定框架中的内容 345
15.3 分页打印 346
15.4 设置页眉/页脚 348
15.5 小结 350
15.6 实践与练习 350
第16章 使用Cookie 351
16.1 了解Cookie 352
16.1.1 Cookie的形式 352
16.1.2 Cookie的属性 353
16.1.3 Cookie的主要用途 353
16.1.4 Cookie的优点 354
16.1.5 Cookie的缺点 354
16.2 在JavaScript中使用Cookie 355
16.2.1 Cookie设置 355
16.2.2 Cookie的传递流程 357
16.2.3 Cookie的写入 358
16.2.4 Cookie的读取 363
16.2.5 Cookie的删除 365
16.3 Cookie的安全问题 366
16.4 页面重定向中使用Cookie 366
16.5 小结 368
16.6 实践与练习 368
第17章 图像处理 369
17.1 Image对象 370
17.2 图像对象的应用 370
17.2.1 图像的预装载 370
17.2.2 图片的随机显示 372
17.2.3 无间断的图片滚动效果 375
17.2.4 登录图片验证码 376
17.2.5 浮动广告 377
17.2.6 图片渐变效果 378
17.2.7 进度条的显示 379
17.2.8 图片的时钟显示 380
17.2.9 不断闪烁的图片 382
17.2.10 图片翻转效果 382
17.2.11 图片水波倒影 386
17.2.12 图片总置于顶端 387
17.3 小结 388
17.4 实践与练习 388
第18章 浏览器检测 389
18.1 浏览器检测对象 390
18.1.1 浏览器对象的属性 390
18.1.2 浏览器对象的子对象 391
18.2 检测浏览器是否支持某些特性 392
18.3 检测Quirks模式和标准模式 393
18.4 小结 394
18.5 实践与练习 394
第19章 嵌入式对象 395
19.1 object嵌入对象标记 396
19.2 MIME类型 397
19.3 Java applet对象 398
19.3.1 创建Java applet 398
19.3.2 嵌入Java applet 399
19.3.3 在IE中执行Java applet 399
19.3.4 JavaScript与Java applet交互 400
19.4 ActiveX控件 402
19.4.1 创建ActiveX 402
19.4.2 嵌入ActiveX 402
19.4.3 JavaScript与ActiveX交互 403
19.5 Flash 403
19.5.1 嵌入Flash 404
19.5.2 用JavaScript控制Flash 405
19.6 小结 407
19.7 实践与练习 407
第20章 JavaScript中的XML 408
20.1 XML简介 409
20.2 创建XML 409
20.3 DOM与XML 410
20.4 载入XML 412
20.4.1 在IE中创建DOM并载入XML 412
20.4.2 在Mozilla中创建DOM并载入XML 413
20.5 读取XML 414
20.5.1 获取XML元素的属性值 414
20.5.2 通过JavaScript获取XML文档中的数据 416
20.5.3 使用XML DOM对象读取XML文档 417
20.6 通过JavaScript操作XML实现分页 419
20.7 小结 420
20.8 实践与练习 421
第21章 JavaScript的安全 422
21.1 同源策略 423
21.2 Internet Explorer安全区域 424
21.3 JavaScript代码安全 424
21.3.1 屏蔽部分按键 425
21.3.2 屏蔽鼠标右键 427
21.3.3 禁止网页另存为 428
21.3.4 禁止复制网页内容 428
21.4 JavaScript加密 429
21.4.1 JavaScript代码加密 429
21.4.2 JavaScript编写MD5加密 431
21.5 小结 435
21.6 实践与练习 435
第22章 Ajax技术 436
22.1 当下谁在用Ajax 437
22.1.1 百度搜索提示 437
22.1.2 淘宝新会员免费注册 437
22.1.3 明日学院选择偏好课程 438
22.2 Ajax开发模式与传统开发模式的比较 438
22.3 Ajax技术特点 439
22.4 Ajax使用的技术 440
22.4.1 XMLHttpRequest对象 440
22.4.2 XML 440
22.4.3 JavaScript 443
22.4.4 CSS 443
22.4.5 DOM 443
22.5 Ajax需要注意的几个问题 443
22.5.1 安全问题 443
22.5.2 性能问题 444
22.5.3 浏览器兼容性问题 444
22.5.4 解决中文乱码问题 445
22.6 Ajax新技术——XMLHttpRequest对象 445
22.6.1 初始化XMLHttpRequest对象 445
22.6.2 XMLHttpRequest对象的常用方法 446
22.6.3 XMLHttpRequest对象的常用属性 449
22.6.4 实战模拟:不刷新页面提交表单数据 451
22.7 Ajax的重构 454
22.7.1 Ajax重构的步骤 454
22.7.2 实时显示商城公告 456
22.8 小结 458
22.9 实践与练习 458
第23章 jQuery技术 459
23.1 jQuery概述 460
23.1.1 jQuery能做什么 460
23.1.2 jQuery的特点 461
23.2 jQuery下载与配置 462
23.2.1 下载jQuery 462
23.2.2 配置jQuery 463
23.3 jQuery的插件 464
23.3.1 插件的使用 464
23.3.2 流行的插件 464
23.4 jQuery选择器 466
23.4.1 jQuery的工厂函数 466
23.4.2 基本选择器 467
23.4.3 层级选择器 475
23.4.4 过滤选择器 483
23.4.5 属性选择器 489
23.4.6 表单选择器 489
23.5 jQuery控制页面 491
23.5.1 对元素内容和值进行操作 491
23.5.2 对DOM节点进行操作 495
23.5.3 对元素属性进行操作 500
23.5.4 对元素的CSS样式进行操作 501
23.6 jQuery的事件处理 502
23.6.1 页面加载响应事件 502
23.6.2 jQuery中的事件 503
23.6.3 事件绑定 504
23.6.4 模拟用户操作 506
23.6.5 事件捕获与事件冒泡 507
23.7 jQuery的动画效果 511
23.7.1 基本的动画效果 511
23.7.2 淡入淡出的动画效果 514
23.7.3 滑动效果 515
23.7.4 自定义的动画效果 518
23.8 小结 522
23.9 实践与练习 522
第4篇 项目实战 524
第24章 JavaScript+Ajax+jQuery网页开发 524
24.1 系统分析 525
24.2 系统设计 525
24.2.1 系统目标 525
24.2.2 系统功能结构 525
24.3 网页预览 526
24.4 使用JavaScript技术实现导航菜单设计 528
24.5 使用jQuery技术实现图片展示区 530
24.6 使用Ajax技术实现最新消息页面 533
24.7 使用JavaScript脚本实现产品推荐页面 535
24.8 使用JavaScript脚本实现浮动窗口设计 537
24.9 小结 539