第1章 JavaScript与Web概述 1
1.1 JavaScript简介 1
1.1.1 JavaScript的含义 1
1.1.2 JavaScript与Web 2
1.1.3 为什么选择JavaScript 3
1.1.4 JavaScript的功能 4
1.1.5 创建JavaScript Web应用程序所需的工具 4
1.2 脚本的使用场合 6
1.2.1 链接外部JavaScript文件 6
1.2.2 使用外部文件的优点 7
1.3 第一个简单的JavaScript程序 8
1.4 浏览器以及兼容性问题 13
1.5 小结 14
第2章 数据类型与变量 15
2.1 JavaScript中的数据类型 15
2.1.1 数值数据 16
2.1.2 文本数据 16
2.1.3 布尔数据 17
2.2 变量——保存在内存中的数据 17
2.2.1 创建变量并赋值 18
2.2.2 用其他变量的值为变量赋值 20
2.3 使用数据——计算数值及基本字符串操作 22
2.3.1 数值计算 22
2.3.2 运算符的优先级 26
2.3.3 基本的字符串操作 29
2.3.4 字符串与数值的混合操作 31
2.4 数据类型转换 32
2.5 数组 35
2.6 小结 43
2.7 习题 44
第3章 决策、循环和函数 45
3.1 决策语句——if和switch语句 45
3.1.1 比较运算符 46
3.1.2 if语句 47
3.1.3 逻辑运算符 51
3.1.4 在if语句中使用多个条件 53
3.1.5 else和else if 56
3.1.6 字符串的比较 58
3.1.7 switch语句 59
3.2 循环——for语句和while语句 63
3.2.1 for循环 63
3.2.2 for…in循环 66
3.2.3 while循环 66
3.2.4 do…while循环 68
3.2.5 break和continue语句 69
3.3 函数 70
3.3.1 创建自定义函数 70
3.3.2 变量的作用域和生存期 73
3.4 小结 74
3.5 习题 75
第4章 常见错误、调试和错误处理 77
4.1 一些常见错误 77
4.1.1 未经定义的变量 77
4.1.2 区分大小写 79
4.1.3 不匹配的大括号 79
4.1.4 不匹配的圆括号 80
4.1.5 赋值而不是相等 80
4.1.6 将方法和属性混为一谈 81
4.1.7 在连接字符串时未使用加号(+) 82
4.2 错误处理 82
4.2.1 避免错误 83
4.2.2 try…catch语句 83
4.3 调试 92
4.3.1 在Firefox中用Firebug调试 93
4.3.2 在Internet Explorer中调试 104
4.3.3 在Safari中调试 109
4.3.4 使用Opera的开发工具Dragonfly 114
4.4 小结 116
4.5 习题 117
第5章 JavaScript——基于对象的语言 119
5.1 基于对象的程序设计 119
5.1.1 对象的含义 119
5.1.2 JavaScript中的对象 120
5.1.3 使用JavaScript对象 121
5.1.4 基本数据类型与对象 123
5.2 JavaScript的内置对象类型 124
5.2.1 String对象 124
5.2.2 Array对象 134
5.2.3 Array的新方法 140
5.2.4 Math对象 144
5.2.5 Number对象 150
5.2.6 toFixed()方法 151
5.2.7 Date对象 151
5.3 创建对象的新类型(引用类型) 160
5.4 小结 169
5.5 习题 170
第6章 浏览器程序设计 171
6.1 浏览器对象简介 172
6.1.1 window对象 173
6.1.2 history对象 174
6.1.3 location对象 175
6.1.4 navigator对象 175
6.1.5 screen对象 176
6.1.6 document对象 176
6.1.7 使用document对象 176
6.1.8 images集合 178
6.1.9 links集合 180
6.2 用事件响应用户的操作 180
6.2.1 事件的含义 180
6.2.2 将代码连接到事件 181
6.2.3 确定用户的浏览器 186
6.3 小结 195
6.4 习题 197
第7章 HTML表单:与用户交互 198
7.1 HTML表单 198
7.2 Form对象的其他属性和方法 201
7.2.1 表单中的HTML元素 201
7.2.2 共有的属性和方法 202
7.2.3 按钮元素 204
7.2.4 文本元素 207
7.2.5 textarea元素 214
7.2.6 复选框和单选按钮 216
7.2.7 选择框 224
7.3 小结 237
7.4 习题 239
第8章 窗口和框架 240
8.1 框架和窗口对象 240
8.1.1 在框架之间编写代码 244
8.1.2 框架之间的代码访问 249
8.2 打开新窗口 259
8.2.1 打开新的浏览器窗口 259
8.2.2 窗口之间的脚本编程 266
8.2.3 移动窗口并重置其大小 270
8.3 安全性 271
8.4 小结 272
8.5 习题 273
第9章 字符串操作 274
9.1 新的字符串方法 274
9.1.1 split()方法 275
9.1.2 replace()方法 278
9.1.3 search()方法 278
9.1.4 match()方法 278
9.2 正则表达式 279
9.2.1 简单的正则表达式 279
9.2.2 正则表达式:特殊字符 286
9.2.3 包含所有的可能性 293
9.2.4 正则表达式的分组 293
9.2.5 重用字符组 295
9.3 String对象——split()、replace()、search()和match()方法 296
9.3.1 split()方法 296
9.3.2 replace()方法 298
9.3.3 search()方法 301
9.3.4 match()方法 301
9.4 使用RegExp对象的构造函数 304
9.4.1 验证电话号码 307
9.4.2 验证邮政编码 308
9.4.3 验证电子邮件地址 309
9.4.4 验证域名 310
9.5 小结 312
9.6 习题 313
第10章 日期、时间和计时器 314
10.1 世界时 315
10.2 网页中的计时器 325
10.2.1 一次性计时器 325
10.2.2 创建定期触发的计时器 329
10.3 小结 330
10.4 习题 331
第11章 使用Cookie存储信息 332
11.1 烘焙第一个Cookie 332
11.1.1 新鲜出炉的Cookie 332
11.1.2 Cookie字符串 338
11.2 创建Cookie 340
11.3 获取Cookie的值 344
11.4 Cookie的局限性 349
11.4.1 用户可能禁用Cookie 349
11.4.2 数字和信息的限制 349
11.5 Cookie的安全性和IE 6+ 350
11.6 小结 351
11.7 习题 351
第12章 动态HTML和W3C文档对象模型 352
12.1 Web标准 353
12.1.1 HTML 354
12.1.2 XML 355
12.1.3 XHTML 356
12.1.4 ECMAScript 356
12.2 文档对象模型 357
12.2.1 DOM标准 357
12.2.2 DOM与BOM的区别 359
12.2.3 将HTML文档表示树形结构 359
12.2.4 DOM核心对象 361
12.2.5 DOM对象及其属性和方法 363
12.3 操作DOM 378
12.3.1 访问元素 379
12.3.2 改变元素的外观 379
12.3.3 定位和移动内容 384
12.3.4 示例:动态广告 388
12.4 DOM和事件 392
12.4.1 DOM事件处理 392
12.4.2 IE中的事件处理 398
12.5 编写跨浏览器的DHTML 401
12.6 JavaScript与XML 407
12.6.1 使用JavaScript操作XML 408
12.6.2 在IE中获取XML文件 408
12.6.3 在Firefox和Opera浏览器中获取XML文件 411
12.6.4 跨浏览器读取XML文件 412
12.6.5 示例:显示每日信息 413
12.7 小结 420
12.8 习题 421
第13章 在JavaScript中使用ActiveX和插件 423
13.1 在非IE浏览器中检查并嵌入插件 423
13.1.1 在页面中添加插件 424
13.1.2 检查并安装插件 425
13.2 在IE中检查和嵌入ActiveX控件 428
13.2.1 在页面中添加ActiveX控件 428
13.2.2 安装ActiveX控件 430
13.3 使用插件和ActiveX控件 432
13.3.1 确定插件/ActiveX控件的可用性 433
13.3.2 完成 434
13.3.3 测试表单的禁用 436
13.3.4 潜在的问题 437
13.4 小结 439
13.5 习题 440
第14章 Ajax 441
14.1 Ajax的含义 441
14.1.1 Ajax的作用 442
14.1.2 浏览器支持 443
14.2 使用XMLHttpRequest对象 443
14.2.1 跨浏览器问题 444
14.2.2 使用XMLHttpRequest对象 447
14.2.3 异步请求 449
14.3 创建简单的Ajax模块 450
14.3.1 规划HttpRequest模块 450
14.3.2 HttpRequest构造函数 450
14.3.3 创建方法 452
14.3.4 完整的代码 453
14.4 使用Ajax验证表单字段 455
14.4.1 请求信息 455
14.4.2 接收到的数据 455
14.4.3 准备工作 456
14.5 注意事项 464
14,5.1 安全性问题 464
14.5.2 可用性问题 465
14.6 小结 473
14.7 习题 473
第15章 JavaScript框架 474
15.1 选择框架 474
15.2 入门 475
15.2.1 安装框架 475
15.2.2 测试框架 477
15.3 深入分析jQuery 482
15.3.1 选择元素 482
15.3.2 修改样式 484
15.3.3 创建、追加和删除元素 486
15.3.4 jQuery事件模型和事件的处理 489
15.3.5 用jQuery重写DHTML工具栏 490
15.3.6 把jQuery用于Ajax 496
15.4 Prototype 503
15.4.1 检索元素 504
15.4.2 处理样式 505
15.4.3 创建、插入和删除元素 506
15.4.4 使用事件 507
15.4.5 用Prototype重写DHTML工具栏 508
15.4.6 使用Ajax支持 512
15.5 MooTools 520
15.5.1 查找元素 520
15.5.2 修改样式 521
15.5.3 创建、插入和删除元素 522
15.5.4 使用和处理事件 522
15.5.5 用MooTools重写DHTML工具栏 524
15.5.6 MooTools中的Ajax支持 529
15.6 小结 535
15.7 习题 535
附录A 参考答案 536
附录B JavaScript核心参考 606
附录C W3C DOM参考 627
附录D Latin-1字符集 647