第1章 必须了解的JavaScript知识 1
1.1 认识JavaScript 2
1.1.1 什么是JavaScript 2
1.1.2 JavaScript的特点 2
1.1.3 JavaScript与Java的区别 3
1.1.4 JavaScript版本 4
1.2 JavaScript的编写工具 5
1.2.1 记事本 5
1.2.2 UltraEdit-32 6
1.2.3 Dreamweaver 7
1.3 JavaScript在HTML中的使用 8
1.3.1 在HTML网页头中嵌入JavaScript代码 8
1.3.2 在HTML网页中嵌入JavaScript代码 9
1.3.3 在HTML网页的元素事件中嵌入JavaScript代码 10
1.3.4 在HTML中调用已经存在的JavaScript文件 11
1.3.5 通过JavaScript伪URL引入JavaScript脚本代码 13
1.4 JavaScript和浏览器 14
1.4.1 在Internet Explorer 中调用JavaScript代码 14
1.4.2 在Firefox中调用JavaScript代码 14
1.4.3 在Opera中调用JavaScript代码 14
1.4.4 浏览器中的文档对象类型(DOM) 15
1.5 实战演练——一个简单的JavaScript示例 15
1.6 疑难解惑 16
第2章 JavaScript编程基础 19
2.1 JavaScript的基本语法 20
2.1.1 执行顺序 20
2.1.2 区分大小写 20
2.1.3 分号与空格 20
2.1.4 对代码行进行折行 21
2.1.5 注释 21
2.1.6 语句 23
2.1.7 语句块 24
2.2 JavaScript的数据结构 25
2.2.1 标识符 25
2.2.2 关键字 25
2.2.3 保留字 26
2.2.4 常量 26
2.2.5 变量 26
2.3 看透代码中的数据类型 29
2.3.1 typeof运算符 29
2.3.2 Undefined类型 30
2.3.3 Null类型 31
2.3.4 Boolean类型 32
2.3.5 Number类型 33
2.3.6 String类型 33
2.3.7 Object类型 34
2.4 明白数据间的计算法则——运算符 35
2.4.1 算术运算符 35
2.4.2 比较运算符 37
2.4.3 位运算符 38
2.4.4 逻辑运算符 39
2.4.5 条件运算符 40
2.4.6 赋值运算符 42
2.4.7 运算符的优先级 43
2.5 JavaScript的表达式 44
2.5.1 赋值表达式 44
2.5.2 算术表达式 46
2.5.3 布尔表达式 46
2.5.4 字符串表达式 48
2.5.5 类型转换 49
2.6 实战演练——局部变量和全局变量的优先级 50
2.7 疑难解惑 51
第3章 程序控制结构和语句 53
3.1 基本处理流程 54
3.2 赋值语句 55
3.3 条件判断语句 55
3.3.1 if语句 55
3.3.2 if-else语句 56
3.3.3 if-else-if语句 57
3.3.4 if语句的嵌套 58
3.3.5 switch语句 60
3.4 循环控制语句 62
3.4.1 while语句 62
3.4.2 do-while语句 63
3.4.3 for循环 64
3.5 跳转语句 65
3.5.1 break语句 66
3.5.2 continue语句 67
3.6 使用对话框 68
3.7 实战演练——显示距离2014年元旦的天数 70
3.8 疑难解惑 71
第4章 函数 73
4.1 函数的简介 74
4.2 定义函数 74
4.2.1 不指定函数名 74
4.2.2 指定函数名 75
4.2.3 函数参数的使用 76
4.2.4 函数的返回值 76
4.3 函数的调用 78
4.3.1 函数的简单调用 78
4.3.2 在表达式中调用 79
4.3.3 在事件响应中调用函数 80
4.3.4 通过链接调用函数 81
4.4 JavaScript中常用的函数 82
4.4.1 嵌套函数 82
4.4.2 递归函数 83
4.4.3 内置函数 85
4.5 实战演练——购物简易计算器 93
4.6 疑难解惑 96
第5章 对象与数组 97
5.1 了解对象 98
5.1.1 什么是对象 98
5.1.2 面向对象编程 99
5.1.3 JavaScript的内部对象 100
5.2 对象访问语句 101
5.2.1 for-in循环语句 101
5.2.2 with语句 102
5.3 JavaScript中的数组 103
5.3.1 结构化数据 103
5.3.2 创建和访问数组对象 104
5.3.3 使用for-in语句 107
5.3.4 Array对象的常用属性和方法 107
5.4 详解常用的数组对象方法 118
5.4.1 连接其他数组到当前数组 118
5.4.2 将数组元素连接为字符串 119
5.4.3 移除数组中最后一个元素 120
5.4.4 将指定的数值添加到数组中 121
5.4.5 反序排列数组中的元素 122
5.4.6 删除数组中的第一个元素 123
5.4.7 获取数组中的一部分数据 123
5.4.8 对数组中的元素进行排序 124
5.4.9 将数组转换成字符串 126
5.4.10 将数组转换成本地字符串 126
5.4.11 在数组开头插入数据 127
5.5 创建和使用自定义对象 128
5.5.1 通过定义对象的构造函数的方法 128
5.5.2 通过对象直接初始化的方法 131
5.5.3 修改和删除对象实例的属性 131
5.5.4 通过原型为对象添加新属性和新方法 133
5.5.5 自定义对象的嵌套 135
5.5.6 内存的分配和释放 137
5.6 实战演练——利用二维数组创建动态下拉菜单 137
5.7 疑难解惑 139
第6章 日期与字符串对象 141
6.1 日期对象 142
6.1.1 创建日期对象 142
6.1.2 Date对象属性 143
6.1.3 日期对象的常用方法 143
6.2 详解日期对象的常用方法 147
6.2.1 返回当前日期和时间 147
6.2.2 以不同的格式显示当前日期 148
6.2.3 返回日期所对应的是星期几 149
6.2.4 显示当前时间 149
6.2.5 返回距1970年1月1日午夜的时间差 150
6.2.6 以不同的格式来显示UTC日期 151
6.2.7 根据世界时返回日期对应的是星期几 152
6.2.8 以不同的格式来显示UTC时间 153
6.2.9 设置日期对象中的年份、月份与日期值 154
6.2.10 设置日期对象中的小时、分钟与秒钟值 155
6.2.11 以UTC日期对Date对象进行设置 157
6.2.12 返回当地时间与UTC时间的差值 157
6.2.13 将Date对象中的日期转化为字符串格式 158
6.2.14 返回一个以UTC时间表示的日期字符串 159
6.2.15 将日期对象转化为本地日期 159
6.2.16 日期间的运算 160
6.3 字符串对象 161
6.3.1 创建字符串对象 161
6.3.2 字符串对象的常用属性 162
6.3.3 字符串对象的常用方法 163
6.4 详解字符串对象的常用方法 164
6.4.1 设置字符串字体属性 164
6.4.2 以闪烁方式显示字符串 165
6.4.3 转换字符串的大小写 166
6.4.4 连接字符串 167
6.4.5 比较两个字符串的大小 168
6.4.6 分割字符串 169
6.4.7 从字符串中提取字符串 169
6.5 实战演练1——制作网页随机验证码 170
6.6 实战演练2——制作动态时钟 172
6.7 疑难解惑 174
第7章 数值与数学对象 175
7.1 Number对象 176
7.1.1 创建Number对象 176
7.1.2 Number对象的属性 177
7.1.3 Number对象的方法 180
7.2 详解Number对象常用的方法 181
7.2.1 把Number对象转换为字符串 181
7.2.2 把Number对象转换为本地格式字符串 182
7.2.3 四舍五入时指定小数位数 182
7.2.4 返回以指数记数法表示的数值 183
7.2.5 以指数记数法指定小数位 184
7.3 Math对象 184
7.3.1 创建Math对象 184
7.3.2 Math对象的属性 185
7.3.3 Math对象的方法 186
7.4 详解Math对象常用的方法 187
7.4.1 返回数的绝对值 187
7.4.2 返回数的正弦值、正切值和余弦值 188
7.4.3 返回数的反正弦值、反正切值和反余弦值 190
7.4.4 返回两个或多个参数中的最大值或最小值 192
7.4.5 计算指定数值的平方根 193
7.4.6 数值的幂运算 194
7.4.7 计算指定数值的对数 195
7.4.8 取整运算 196
7.4.9 生成0到1之间的随机数 196
7.4.10 根据指定的坐标返回一个弧度值 197
7.4.11 返回大于或等于指定参数的最小整数 198
7.4.12 返回小于或等于指定参数的最大整数 199
7.4.13 返回以e为基数的幂 199
7.5 实战演练——使用Math对象设计程序 200
7.6 疑难解惑 201
第8章 文档对象模型与事件驱动 203
8.1 文档对象模型 204
8.1.1 认识文档对象模型 205
8.1.2 文档对象的产生过程 206
8.2 访问节点 207
8.2.1 节点的基本概念 207
8.2.2 节点的基本操作 208
8.3 文档对象模型的属性和方法 220
8.4 事件处理 222
8.4.1 常见的事件驱动 222
8.4.2 JavaScript的常用事件 224
8.4.3 JavaScript处理事件的方式 227
8.4.4 使用event对象 231
8.5 实战演练1——通过事件控制文本框的背景颜色 232
8.6 实战演练2——在DOM模型中获得对象 234
8.7 实战演练3——超级链接的事件驱动 235
8.8 疑难解惑 237
第9章 处理窗口和文档对象 241
9.1 窗口(window)对象 242
9.1.1 窗口(window)简介 242
9.1.2 window对象的属性 244
9.1.3 对话框 251
9.1.4 窗口操作 256
9.2 文档(document)对象 259
9.2.1 文档的属性 259
9.2.2 Document对象的方法 268
9.2.3 文档中的表单和图片 271
9.2.4 文档中的超链接 273
9.3 实战演练1——综合使用各种对话框 275
9.4 实战演练2——设置弹出的窗口 276
9.5 疑难解惑 278
第10章 级联样式表 281
10.1 CSS介绍 282
10.1.1 CSS的功能 282
10.1.2 CSS的发展历史 282
10.1.3 浏览器与CSS 283
10.2 编辑和浏览CSS 283
10.2.1 CSS基础语法 284
10.2.2 手工编写CSS 284
10.2.3 用Dreamweaver编写CSS 285
10.3 在HTML中使用CSS的方法 286
10.3.1 行内样式 287
10.3.2 内嵌样式 287
10.3.3 链接样式 289
10.3.4 导入样式 290
10.3.5 优先级问题 291
10.4 CSS选择器 294
10.4.1 标签选择器 294
10.4.2 类选择器 295
10.4.3 ID选择器 297
10.4.4 全局选择器 298
10.4.5 组合选择器 299
10.4.6 继承选择器 300
10.4.7 伪类选择器 302
10.4.8 属性选择器 303
10.4.9 结构伪类选择器 305
10.4.10 UI元素状态伪类选择器 306
10.5 选择器声明 307
10.5.1 集体声明 307
10.5.2 多重嵌套声明 308
10.6 实战演练1——制作五彩标题 309
10.7 实战演练2——制作新闻菜单 311
10.8 疑难解惑 314
第11章 表单和表单元素 315
11.1 表单概述 316
11.2 表单基本元素的使用 317
11.2.1 单行文本输入框text 317
11.2.2 多行文本输入框textarea 318
11.2.3 密码输入框password 318
11.2.4 单选按钮radio 319
11.2.5 复选框checkbox 320
11.2.6 下拉选择框select 321
11.2.7 普通按钮button 322
11.2.8 提交按钮submit 323
11.2.9 重置按钮reset 324
11.3 表单高级元素的使用 325
11.3.1 url属性 325
11.3.2 email属性 326
11.3.3 date和times 327
11.3.4 number属性 328
11.3.5 range属性 329
11.3.6 required属性 329
11.4 表单(Form)对象在JavaScript中的应用 330
11.4.1 HTML表单基础 331
11.4.2 编辑表单元素的脚本 334
11.4.3 用JavaScript获取网页内容实现数据验证 339
11.5 实战演练1——创建用户反馈表单 341
11.6 实战演练2——处理表单元素 343
11.7 疑难解惑 345
第12章 JavaScript的调试和错误处理 347
12.1 常见的错误和异常 348
12.2 处理异常的方法 349
12.2.1 用onerror事件处理异常 349
12.2.2 用try-catch-finally语句处理异常 351
12.2.3 使用throw语句抛出异常 352
12.3 使用调试器 353
12.3.1 IE浏览器内建的错误报告 354
12.3.2 用Firefox错误控制台调试 354
12.4 JavaScript语言调试技巧 355
12.4.1 用alert()语句进行调试 355
12.4.2 用write()语句进行调试 356
12.5 疑难解惑 356
第13章 JavaScript和Ajax技术 359
13.1 Ajax快速入门 360
13.1.1 什么是Ajax 360
13.1.2 Ajax的关键元素 363
13.1.3 CSS在Ajax应用中的地位 364
13.2 Ajax的核心技术 364
13.2.1 全面剖析XMLHttpRequest对象 364
13.2.2 发出Ajax请求 367
13.2.3 处理服务器响应 368
13.3 实战演练1——制作自由拖放的网页 369
13.4 实战演练2——制作加载条 375
13.5 疑难解惑 376
第14章 jQuery的基础知识 379
14.1 jQuery概述 380
14.1.1 jQuery能做什么 380
14.1.2 jQuery的特点 380
14.1.3 jQuery的技术优势 381
14.2 下载并配置jQuery 383
14.2.1 下载jQuery 384
14.2.2 配置jQuery 385
14.3 jQuery的开发工具 385
14.3.1 JavaScript Editor Pro 385
14.3.2 Dreamweaver 386
14.3.3 UltraEdit 387
14.3.4 记事本工具 387
14.4 jQuery的调试小工具 388
14.4.1 Firebug 388
14.4.2 Blackbird 391
14.4.3 jQueryPad 393
14.5 jQuery与CSS 3 393
14.5.1 CSS构造规则 394
14.5.2 浏览器的兼容性 394
14.5.3 jQuery的引入 395
14.6 综合案例——我的第一个jQuery程序 396
14.6.1 开发前的一些准备工作 396
14.6.2 具体的程序开发 397
14.7 疑难解惑 398
第15章 jQuery的选择器 399
15.1 jQuery的“$” 400
15.1.1 $符号的应用 400
15.1.2 功能函数的前缀 401
15.1.3 创建DOM元素 402
15.2 基本选择器 403
15.2.1 通配符选择器(*) 403
15.2.2 ID选择器(#id) 404
15.2.3 类名选择器(.class) 405
15.2.4 元素选择器(element) 406
15.2.5 复合选择器 407
15.3 层级选择器 408
15.3.1 祖先后代选择器(ancestor descendant) 409
15.3.2 父子选择器(parent>child) 410
15.3.3 相邻元素选择器(prev+next) 412
15.3.4 兄弟选择器(prev~siblings) 413
15.4 过滤选择器 414
15.4.1 简单过滤选择器 414
15.4.2 内容过滤选择器 421
15.4.3 可见性过滤器 428
15.4.4 表单过滤器 431
15.5 表单选择器 433
15.5.1 :input 433
15.5.2 :text 434
15.5.3 :password 435
15.5.4 :radio 436
15.5.5 :checkbox 437
15.5.6 :submit 438
15.5.7 :reset 439
15.5.8 :button 440
15.5.9 :image 441
15.5.10 :file 442
15.6 属性选择器 443
15.6.1 [attribute] 444
15.6.2 [attribute=value] 445
15.6.3 [attribute!=value] 446
15.6.4 [attribute$=value] 447
第16章 用jQuery控制页面 449
16.1 对页面的内容进行操作 450
16.1.1 对文本内容进行操作 450
16.1.2 对HTML内容进行操作 452
16.1.3 移动和复制页面内容 454
16.1.4 删除页面内容 454
16.1.5 克隆页面内容 455
16.2 对标记的属性进行操作 456
16.2.1 获取属性的值 456
16.2.2 设置属性的值 457
16.2.3 删除属性的值 458
16.3 对表单元素进行操作 459
16.3.1 获取表单元素的值 459
16.3.2 设置表单元素的值 460
16.4 对元素的CSS样式进行操作 461
16.4.1 添加CSS类 461
16.4.2 删除CSS类 464
16.4.3 动态切换CSS类 465
16.4.4 获取和设置CSS样式 466
16.5 实战演练——制作奇偶变色的表格 468
16.6 疑难解惑 471
第17章 jQuery的动画特效 473
17.1 jQuery的基本动画效果 474
17.1.1 隐藏元素 474
17.1.2 显示元素 477
17.1.3 状态切换 479
17.2 淡入淡出的动画效果 480
17.2.1 淡入隐藏元素 480
17.2.2 淡出可见元素 482
17.2.3 切换淡入淡出元素 483
17.2.4 淡入淡出元素至指定数值 484
17.3 滑动效果 485
17.3.1 滑动显示匹配的元素 485
17.3.2 滑动隐藏匹配的元素 487
17.3.3 通过高度的变化动态切换元素的可见性 488
17.4 自定义的动画效果 489
17.4.1 创建自定义动画 489
17.4.2 停止动画 490
第18章 jQuery的事件处理 493
18.1 jQuery的事件机制概述 494
18.1.1 什么是jQuery的事件机制 494
18.1.2 切换事件 494
18.1.3 事件冒泡 496
18.2 页面加载响应事件 497
18.3 jQuery中的事件函数 498
18.3.1 键盘操作事件 498
18.3.2 鼠标操作事件 500
18.3.3 其他的常用事件 504
18.4 事件的基本操作 506
18.4.1 绑定事件 506
18.4.2 触发事件 507
18.4.3 移除事件 508
18.5 实战演练——制作绚丽的多级动画菜单 509
18.6 疑难解惑 515
第19章 jQuery的功能函数 517
19.1 功能函数概述 518
19.2 常用的功能函数 519
19.2.1 操作数组和对象 519
19.2.2 操作字符串 523
19.2.3 序列化操作 525
19.2.4 检测浏览器 526
19.3 调用外部代码 527
19.4 疑难解惑 528
第20章 jQuery插件的开发与使用 531
20.1 理解插件 532
20.1.1 什么是插件 532
20.1.2 如何使用插件 532
20.2 流行的插件 533
20.2.1 jQueryUI插件 534
20.2.2 Form插件 535
20.2.3 提示信息插件 537
20.2.4 jcarousel插件 537
20.3 定义自己的插件 538
20.3.1 插件的工作原理 538
20.3.2 自定义一个简单的插件 539
20.4 实战演练——创建拖拽购物车效果 542
20.5 疑难解惑 543