作者介绍 1
前言 1
第一部分 JavaScript入门 1
第1章 JavaScript与WWW 1
1.1 介绍JavaScript 1
译者序 1
1.2.1 JavaScript可以嵌入在HTML中 2
1.2.2 JavaScript依赖环境 2
1.2 十条JavaScript常识 2
1.2.3 JavaScript是一种解释型语言 4
1.2.4 JavaScript是一种松类型语言 5
1.2.5 JavaScript是一种基于对象的语言 6
1.2.6 JavaScript是事件驱动的 6
1.2.7 JavaScript不是Jave 7
1.2.8 JavaScript是多功能的 7
1.2.9 JavaScript在进化 7
1.3.2 第二阶段:基于图形的静态HTML文档 8
1.3.1 第一阶段:基于字符的超文本 8
1.2.10 JavaScript超越环境 8
1.3 WWW的四个阶段 8
1.3.3 第三阶段:动态HTML文档 9
1.3.4 第四阶段:活动HTML文档 9
1.4 Web应用程序框架 10
1.4.1 客户端 11
1.4.2 服务器端 16
1.5 使用JavaScript能做什么 18
1.5.1 客户端应用 18
1.5.2 数据有效性校验 19
1.5.3 创建交互表格 19
1.5.4 客户端表查询 19
1.5.5 状态维护 19
1.5.6 与Java小程序、ActiveX控件及插件协作 19
1.6 浏览器对JavaScript的支持 19
1.6.2 Microsoft Internet Explorer 20
1.6.1 Netscape Navigator 20
1.6.3 其他浏览器 21
1.7 比较JavaScript与VBScript 21
1.7.2 VBScript编程 24
1.8 小结 26
第2章 JavaScript与HTML的协作 27
2.1 介绍HTML基础知识 27
2.1.1 当前的形势 27
2.1.2 HTML基础知识 28
2.1.3 HTML文档结构 28
2.1.4 属性概括 30
2.2 在HTML中嵌入JavaScript 30
2.2.1 理解〈script〉标签的属性 30
2.2.2 查看JavaScript代码 34
2.3 创建JavaScript代码 34
2.3.1 执行脚本 35
2.3.2 适应不支持的浏览器 38
2.3.3 编写代码 39
2.3.4 执行脚本 41
2.4 小结 41
第3章 组装JavaScript工具箱 42
3.1 必要工具概述 42
3.1.1 JavaScript编辑器 42
3.1.2 HTML编辑器 44
3.1.3 Web浏览器 45
3.1.4 脚本跟踪调试器 46
3.2 JavaScript开发过程 46
3.3 服务器端JavaScript工具 47
3.3.1 Netscape的服务器端JavaScript 47
3.3.2 Borland IntraBuilder 47
3.4 小结 47
4.2.1 想支持什么浏览器 48
4.2 准备工作 48
4.1 快速回忆 48
第4章 编写第一个脚本程序 48
4.2.2 如何处理非JavaScript浏览器 50
4.2.3 内嵌它还是用Src属性 51
4.2.4 目标是什么 51
4.3 编写脚本过程 52
4.3.1 确定目标 52
4.3.2 创建一个代码模板 52
4.3.3 处理不支持的浏览器 53
4.3.4 编写代码 53
4.3.5 调用函数 55
4.4 脚本说明 55
4.5 小结 56
5.1 概述 57
5.2.1 CGI 57
5.2 JavaScript怎样与CGI、插件以及Jave发生联系 57
第二部分 核心JavaScript语言 57
第5章 JavaScript语言基础知识 57
5.2.2 插件 58
5.2.3 Jave 58
5.3 向HTML文档中嵌入脚本 59
5.5.1 JavaScript的版本 60
5.5.2 语言符号 60
5.5 语法细节 60
5.4 事件 60
5.5.3 变量 66
5.5.4 常量 72
5.5.5 颜色 72
5.5.6 数据类型 76
5.5.7 表达式 76
5.5.8 注释 76
5.5.9 函数 78
5.6 小结 80
第6章 运算符 81
6.1 赋值运算符 82
6.2 算术运算符 82
6.4 字符串运算符 82
6.3 比较运算符 85
6.5 条件运算符 88
6.6 布尔运算符 90
6.7 typeof运算符 90
6.8 函数运算符 91
6.9 数据结构运算符 92
6.10 按位运算符 92
6.10.1 按位逻辑运算符 93
6.10.2 移位运算符 94
6.10.3 为什么对位进行运算 94
6.11 运算符优先级 98
6.12 小结 99
7.1.1 if语句 101
7.1 条件语句 101
第7章 控制结构和循环 101
7.1.2 if…else语句 104
7.1.3 try…catch语句 106
7.2 循环语句 106
7.2.1 for语句 106
7.2.2 for…in语句 109
7.2.3 while语句 111
7.2.4 do…while语句 111
7.2.5 break和continue 112
7.3 Label语句 114
7.4 With语句 115
7.5 switch语句 117
7.6 小结 118
第8章 函数 119
8.1 了解JavaScript函数 119
8.1.1 创建函数 119
8.1.3 调用函数 120
8.1.2 在何处声明函数 120
8.2 使用参数 121
8.2.1 改变参数个数 125
8.2.2 使用全局和局部变量 129
8.2.3 按引用传递对象 131
8.3 关于函数的更多信息 133
8.3.1 重用函数 134
8.3.2 递归函数 134
8.4 小结 135
第9章 客户端对象 136
9.1 了解对象 136
9.1.1 对象 136
9.1.2 封装 140
9.1.3 消息 141
9.1.4 类 142
9.2 JavaScript对象 145
9.2.1 点标志法 146
9.2.2 研究JavaScript对象模型 146
9.2.3 JavaScript中的包含关系 147
9.2.4 属性 148
9.2.5 方法 149
9.2.6 事件 151
9.3 对象分解 153
9.3.1 Navigator对象 154
9.3.2 Window对象 158
9.3.3 顶层对象 161
9.3.4 第二级对象 166
30.5 使用其他状态维护选项 168
9.3.5 三级对象 170
9.3.6 四级对象 175
9.4 小结 175
第10章 核心语言对象 176
10.1 Global对象 176
10.2 String对象 177
10.2.1 一个字符串操作的例子 181
10.2.2 格式化字符串 183
10.2.3 处理特殊字符 189
10.2.4 转换字符串和数字 190
10.3 RegExp对象 192
10.4 Array对象 192
10.5 Sate对象 196
10.6 Nath对象 201
10.7 Boolean对象 202
10.8 Number对象 202
10.9 Function对象 204
10.10 小结 205
第11章 创建定制的JaveScript对象 206
11.1 创建一个对象 206
11.2 实例化对象 208
11.3 处理对象实例 210
11.4 创建复杂对象 215
11.5 动态创建对象 220
11.6 扩充实例化对象 224
11.7 小结 225
第12章 服务器端JavaScript 226
12.1 使用客户/服务器体系结构 226
12.1.1 基于Web的客户/服务器 226
12.1.2 客户机/服务器通信 227
12.1.3 session管理 228
12.2 开发服务器端JavaScript应用程序 230
12.2.1 创建源文件 231
12.2.2 准备应用程序 234
12.2.3 故障查找 238
12.3 了解核心服务器端对象 240
12.3.1 server对象 241
12.3.2 Project对象 241
12.3.3 client对象 242
12.3.4 Request对象 242
12.3.5 Lock对象 245
12.3.6 File对象 246
12.3.7 SendMail对象 248
12.3.8 数据库特有的对象 249
14.1 了解事件和事件处理器 250
12.4 小结 252
第三部分 文档对象模型 253
第13章 文档对象模型 253
13.1 了解文档对象模型 253
13.2 导航一张表 254
13.3 操作文档 255
13.4 导航文档 257
13.5 小结 257
14.2 JavaScript事件处理器 259
第14章 处理事件 259
14.2.1 点击一个对象(onClick) 260
14.2.2 提交一个窗体(onSubmit) 262
14.2.3 重置一个窗体(onReset) 263
14.2.4 修改数据(onChange) 264
14.2.5 收到焦点(onFocus) 264
14.2.6 失去焦点(onBlur) 266
14.2.7 选择文本(onSelect) 267
14.2.8 将鼠标移到对象上(onMouseOver和onMouseOut) 267
14.2.9 装入一个文档(onload) 272
14.2.10 退出一个文档(onUnLoad) 273
14.3 处理错误(onError) 274
14.5 改变事件处理器 275
14.4 退出图像装入(OnAbort) 275
14.6 在代码中触发事件 276
14.7 计时器事件 276
14.8 小结 278
第15章 窗口对象 279
15.1 Winsow对象 279
15.2 打开和关闭窗口 280
15.2.1 引用窗口 281
15.2.2 指定窗口内容 282
15.2.3 指定窗口属性 282
15.2.4 关闭窗口 284
15.3 在窗口间导航 289
15.3.1 间接焦点 290
15.3.2 直接焦点 290
15.4.1 简单通知 291
15.3.3 移走焦点 291
15.4 显示消息框 291
15.4.2 是/否确认 294
15.4.3 用户输入 296
15.5 使用状态栏消息 299
15.6 小结 301
第16章 文档对象 302
16.1 Document对象 302
16.1.1 编程创建HTML文档 302
16.1.2 改变文档颜色 306
16.2 Link对象 311
16.2.1 引用Link对象 311
16.2.2 执行链接内的JavaScript代码 315
16.3 Anchor对象 319
16.4 Image对象 319
16.5 小结 321
第17章 窗体对象 322
17.1 Forrn对象 322
17.1.1 向服务器提交窗体 323
17.1.2 检查一个窗体的元素 325
17.2 Text对象 327
17.2.1 为一个Text对象赋一个默认值 328
17.2.2 选择焦点上的广西 330
17.2.3 用Textarea对象捕获数据 331
17.2.4 在一个Textarea对象中换行文本 332
17.3 Button对象:Submit,Reset和Button 333
17.4 Checkbox对象 335
17.5 Radio对象 337
17.6 Select对象 340
17.6.1 创建一个选择列表 340
17.6.2 创建一个滚动列表 341
17.6.3 创建一个多选列表 342
17.6.4 判断被选择选项的值或文本 343
17.6.5 判断多选列表的值 344
17.6.6 用JavaScript选择一个选项 345
17.7 Password对象 346
17.8 Hidden对象 347
17.9 小结 350
第18章 帧对象 351
18.1 Frane对象 351
18.1.1 创建帧 352
18.1.2 向帧添加JavaScript代码 358
18.1.3 同步帧 359
18.1.4 更新帧 362
18.1.5 为图像映射帧编写脚本 367
18.1.6 使用帧URL 370
18.1.7 引用帧 371
18.1.8 子帧到父帧 372
18.2 Location对象 381
18.2.1 打开一个新URL 382
18.2.2 使用protocol属性 384
18.3 History对象 385
18.3.1 判断表的大小 385
18.3.2 导航历史列表 386
18.4 Navigator对象 389
18.5 小结 392
第19章 其他DOM对象 393
19.1 DOM浏览器 393
19.2 DOM文档操作和DOM方法 395
19.2.1 使用cloneNode方法 395
19.2.2 对Dom使用insefore方法 396
19.2.3 使用swapNode方法 398
19.2.4 使用removeNode方法 398
19.3 小结 399
第四部分 支柱HTML编程技术 401
第20章 滚过 401
20.1 了解事件 401
20.1.1 onMouseOver 401
20.1.2 onMouseOut 401
20.1.3 onMouseDown 401
20.1.4 onMouseup 402
20.2 滚过的类型 402
20.2.1 图像滚过 402
20.2.2 层滚过 405
20.3 小结 409
第21章 可视化效果 410
21.1 滚动字幕 410
21.2 广告板 412
21.3 颜色渐变 418
21.4 动画的按钮 420
21.5 小结 424
第22章 级联样式单 425
22.1 基本的样式单概念 425
22.1.1 标准 425
22.1.2 继承 425
22.1.3 边距与填充 426
22.1.4 注释 427
22.2. 在文档中使用样式 427
22.2.1 定义样式 427
22.2.2 应用样式 429
22.2.3 混合选择器 432
22.2.4 判断样式优先级 433
22.4 小结 434
22.3.4 属性 434
22.3.3 document.ids 434
22.3 JavaScript样式对象 434
22.3.2 document.classes 434
22.3.1 document.tags 434
22.4 小结 435
第23章 层 436
23.1 通用的实践 436
23.1.1 为层使用样式单 437
23.1.2 管理叠放层 449
23.1.3 创造动画效果 449
23.2 〈div〉和〈iframe〉 449
23.2.1 定义数据块 449
23.2.2 拖入外部文件 456
23.3 〈layer〉和〈ilayer〉 459
23.3.1 一个制表的例子 459
23.3.2 一个反弹球例子 463
23.4 小结 469
24.1 初始考虑 470
24.1.1 保证它是可能的 470
第24章 DHTML菜单和工具栏 470
24.1.2 为将来打算 471
24.1.3 考虑API 471
24.2 设计菜单 471
24.2.1 定义层 471
24.2.2 处理动作 475
24.2.3 使用此菜单 476
24.2.4 探索可以做的其他事情 481
24.3 建立工具栏 481
24.3.1 应用事件 482
24.3.2 考虑设计问题 484
24.3.3 设计图像 484
24.3.4 设计HTML 485
24.3.5 实现图像滚过 488
24.3.6 实现一个位置域 490
24.3.7处理按钮事件 490
24.3.8 检查结果 491
24.4 小结 497
25.1 浏览器插件 498
25.1.1 介绍插件和MIME类型 498
第25章 与其他技术交互 498
25.1.2 判断已安装的插件 499
25.2 ActiveX控件 500
25.2.1 了解ActiveX控件 501
25.2.2 实现安全性 502
25.2.3 用JScript访问 502
25.3 Java小程序 503
25.3.1 从JavaScript访问Java 504
25.3.2 从Java访问JavaScript 505
25.3.3 研究Java小程序的细节 511
25.4 LiveAudio 513
25.4.1 使用JavaScript方法 514
25.4.2 在JavaScript事件发生时播放声音 515
25.5 小结 517
第26章 保证脚本在Netscape和Microsoft浏览器中工作 519
26.1 语言版本与浏览器版本 519
第五部分 高级编程技术 519
26.2 JavaScript方言比较 520
26.2.1 Netscape的JavaScript 520
28.4 小结 526
26.2.2 Microsoft和JScript 533
26.3 错误 543
26.4 小结 544
第27章 浏览器检测技术 545
27.1 “全部或者没有”方法 545
27.2 “现场检测”方法 545
27.2.1 浏览器类型 545
27.2.2 浏览器版本 546
27.2.3 JavaScript版本 546
27.2.5 动态定位的例子 547
27.2.4 操作系统平台 547
27.3 小结 552
28.2.1 编写一个定制的Toolbar对象 553
第28章 基于JavaScript的站点导航 553
28.2 编写一个动态工具栏脚本 553
28.1 研究导航技术 553
28.2.2 研究额外的特性 561
28.3 使用History对象 561
第29章 窗体和数据有效性校验 563
29.1 收集用户反馈 564
29.1.1 为用户反馈创建一个示例窗体 566
29.1.2 测试一个用户窗体 566
29.1.3 显示消息框 567
29.1.4 使用状态信息 570
29.2 有效性校验用户输入 572
29.2.1 有效性校验自由窗体输入 572
29.2.2 确保一致性 573
29.2.3 实施策略语句 575
29.2.4 保证完整性 576
29.3 创建交互性窗体 579
29.4 创建可重用的有效性校验代码 583
29.4.1 整数 583
29.4.2 字符串 584
29.4.3 美元符号 585
29.4.4 信用卡 588
29.5 举例:JavaScript颜色检查器 590
29.6 小结 597
第30章 个人化和动态页面 599
30.1 了解静态Web页面 599
30.2 介绍cookie 600
30.2.1 cookie的优点 600
30.2.2 cookie的限制和缺点 600
30.2.3 cookie神话 601
30.3.2 设置cookie值 602
30.3 使用cookie 602
30.3.1 检索cookie值 602
30.3.3 删除一个cookie 606
30.3.4 一个cookie例子 606
30.4 哪些服务器和浏览器支持cookie 617
30.5.1 查询字符串 618
30.5.2 隐藏窗体变量 619
30.6 小结 620
第31章 使用正则表达式的模式串匹配 621
31.1 创建正则表达式 621
31.1.1 RegExp()构造器 621
31.1.2 赋值运算符 621
31.2 正则表达式语法 621
31.2.1 /w和/W 622
31.2.2 /s和/S 622
31.2.7[x-y]和[^x-y] 623
31.2.6 […]和[^…] 623
31.2.8 {x,y},{x,}和{x} 623
31.2.4 [/b] 623
31.2.5 句号 623
31.2.3 /d和/D 623
31.2.9 ?,+和* 624
31.2.10 逻辑OR(|) 624
31.2.11 (…) 624
31.2.12 /x 624
31.2.13 ^ 624
31.2.14 $ 625
31.2.15 /b和/B 625
31.3 使用正则表达式 626
31.4 正则表达式测试器 627
31.5 举例:电话号码验证程序 630
31.4.4 清空函数 630
31.4.3 替换函数 630
31.4.1 用户界面 630
31.4.2 搜索函数 630
31.6 小结 634
第32章 客户端数据技术 635
32.1 判断数据源:客户机还是服务器 635
32.2 什么是客户端表 636
32.3 创建一张查找表 637
32.4 创建找搜索用户界面 638
32.5 处理搜索请求 639
32.6 显示搜索结果 641
32.7 运行应用程序 643
32.8 小结 652
第33章 错误处理 653
33.1 错误类型 653
33.1.1 语法错误 653
33.1.3 逻辑错误 654
33.1.2 运行时错误 654
33.2 解释错误信息 655
33.3 定位代码 656
33.3.1 检查HTML 656
33.3.2 用注释来识别问题 657
33.3.3 使用alert()方法跟踪代码的处理过程 657
33.4 测试代码 657
33.5 使用可靠的技术编程 660
33.5.1 从一个高层和详细的设计构建代码 660
33.5.2 编写模块化代码 661
33.5.3 编写强内聚代码 661
33.5.4 编写松耦合的代码 661
33.5.5 编写可重用代码 661
33.5.6 编写错误处理代码 662
33.5.7 使用强命名约定 662
33.7 小结 663
33.6 保护代码 663
33.5.9 声明和初始化变量 663
33.5.8 使用注释 663
第34章 跟踪调试 665
34.1 使用Microsoft脚跟踪调试器 665
34.1.1 Microsoft脚本跟踪调试器的特性 665
34.1.2 使用Microsoft脚跟踪调试器调试一个文件 666
34.1.3 关于Microsoft脚本跟踪调试器的最后一句话 672
34.2 使用Netscape JavaScript跟踪调试器 672
34.2.1 研究Netscape JavaScript跟踪调试器特性 672
34.2.2 使用Netscape JavaScript跟踪调试器调试一个文件* 673
34.2.3 关于Netscape JavaScript跟踪调试器的最后一句话 676
34.3 使用alert()方法 677
34.3.1 看一个完整的例子 677
34.3.2 关于使用alert()方法的最后一句话 679
34.4 小结 679
第35章 JavaScript和Web安全性 680
35.1 客户端JavaScript的安全性因素 682
35.1.1 拒绝服务攻击 683
35.1.2 Netscape Navigator2.0问题 685
35.1.3 后来的Navigator版本 685
35.1.4 Internet Explorer 3.x 687
35.2 最大化安全保护 688
35.2.1 安全对话的数字签名 688
35.2.2 在浏览器中关闭脚本语言 689
35.3 服务器端JavaScript的安全性因素 692
35.2.4 关于JavaScript和Java安全性的安全性信息资源 692
35.2.3 防火墙过滤 692
35.4 Java和安全性 695
35.4.1 安全性构件 696
35.4.2 安全性限制 697
35.5 小结 698
第六部分 附录 699
附录A Web上的十大JavaScript资源 699
附录B 关于光盘 701