第一章 JavaScript语言简介 1
1.1 JavaScript语言 1
1.2 支持JavaScript的浏览器 2
客户端JavaScript 2
服务器端JavaScript 2
1.3 Internet 3
网络协议 3
IP地址 3
域地址 3
1.4 WWW 4
1.5 WWW如何工作? 5
助手应用程序 5
插件 5
Java小应用程序 6
1.6 术语和概念总结 7
第二章 Scripting环境介绍 9
2.1 Hello World! 传统 9
2.2 Scripting术语 9
嵌入脚本 10
2.3理解 Hello World! 脚本中的元素 10
JavaScript和HTML 10
为非JavaScript浏览器添加文本 11
加载一个脚本文件 12
添加JavaScript注释 12
添加HTML注释 14
显示文本 14
2.4 使用基本模式 15
延迟执行 16
立即执行 16
2.5 程序设计风格 17
整体规则 18
注释 18
代码缩进 18
空白 19
语句 19
比较 19
对象 20
函数 20
变量 20
标识符风格(变量、函数、对象名选择) 20
源文件(js.包括脚本的文件) 21
2.6 设计脚本程序 21
2.7 创建 Hello World 脚本 22
2.8 运行 Hello world 脚本 23
2.9 术语和概念总结 23
第三章 Scripting概念 25
3.2 变量 26
3.1 数据类型 26
标识符 27
空白 28
常量 28
声明一个变量 29
给变量赋值 29
初始化一个变量 31
3.3 函数 31
3.4 运算符 32
3.5 表达式 33
优先级 33
算术运算符 33
3.6 语句 34
3.7 术语和概念总结 34
第四章 调试脚本程序 36
4.1 语法错误 36
4.2 设计错误或罗辑错误 39
HTML版面和脚本语法分析次序 39
运算符优先级 40
函数没有返回值 41
4.3 JavaScript错误信息 41
标识符是一个保留字 43
在自变量列表后缺少“)” 43
在函数主题后缺少“}” 43
在for-loop条件后缺少 ; 在for-loop初始化后缺少“;” 43
嵌套注释 43
内存溢出 43
“Something”没有属性 44
“Something”不能作为数组索引 44
“Something”没有被定义 46
“Something”不是一个函数 46
“Something”不是一个数字常量 46
语法错误 46
字符串常量没有结束标记 46
4.6 调试技巧 47
使用Netscape JavaSeript协议调试语句 47
使用alert语句设置断点 49
字符串格式技巧 51
查看对象属性 53
4.5 调试中要检查的项 60
4.6 术语和概念总结 60
第五章 对象 61
5.1 对象属性 63
5.2 对象方法 63
5.3 引用对象属性和方法 64
5.4 事件 64
this关键字 65
5.5 对象处理语句 65
For ...in语句 66
With语句 67
new语句 69
5.6 内置对象 69
5.7 术语和概念总结 70
第六章 创建窗口 71
6.1 显示状态信息 72
实例:status属性和defaultstatus属性 73
解释实例脚本 77
带延迟的Status 和defaultstatus属性 82
6.2 控制窗口结构 87
frames属性 88
length属性 88
6.3 引用一个窗口 89
框架和窗口naming属性 89
解释实例 99
实例:一个三框架的窗口 100
6.4 引用窗口中的document、history和location对象 112
实例:引用document、history和location对象 113
6.5 新建一个窗口 114
实例:Open()方法 116
6.6 哪个窗口是打开者 120
实例:Window.opener属性 121
使用unescape()函数重设置location值的格式 125
6.7 确定新开窗口的状态 125
实例:使用closed属性 125
实例:alert()方法 129
6.8 在报警窗口中显示提示消息 129
分析脚本window Alert.html 131
6.9 关闭窗口 132
实例:Close()方法 132
6.10 显示确认信息 135
实例:confirm()方法 135
6.11 提示用户输入 138
实例:Prompt()方法 139
实例:blur()方法和focus()方法 141
6.12 控制窗口中的输入焦点 141
6.13 利用事件句柄控制窗口焦点 145
实例:onFocus和onBlur事件句柄 146
6.14 在窗口中移动 155
实例:scroll()方法 156
6.15 使用延迟 162
在脚本中使用延迟 162
实例:onLoad和onUnload事件句柄 167
6.17 使用事件句柄捕捉解释程序错误信息 167
6.16 使用事件句柄onLoad和onUnload 167
捕捉并显示错误信息 168
分析windowOnerrorHandler.htrnl 171
实例:隐藏错误信息 171
6.18 术语和概念总结 173
第七章 创建文档 174
7.1 控制文档颜色 175
实例:设置文档颜色 177
7.2 文档标题、位置、修改和引用信息 181
实例:显示文档的所有属性 181
实例:比较document.location和document.URL 183
实例:查找文档资源 185
7.3 使用anchors属性 187
实例:使用命名锚链 187
实例:锚链也是一个链接 190
实例:到另一窗口的链接 192
实例:使用锚链在文档内移动 195
实例:使用锚链数组 199
实例:使用links属性 205
7.4 使用links属性 205
7.5 在文档中引用窗体 207
实例:在文档中引用窗体 208
7.6 在文档中引用图像 209
实例:使用图像数组 210
7.7 在文档中引用小应用程序 213
实例:包括一个Java小应用程序 214
7.8 在文档中搜索嵌入插件 216
实例:统计插件 217
7.9搜索文档域 219
实例:搜索文档域 220
7.10 保存用户输入信息:cookie属性 222
cookie属性的一些限制 222
实例:创建一个cookie属性 223
7.11 写文档 225
7.12 打开、关闭、清除文档 226
实例:document方法 226
7.13 术语和概念总结 232
8.1 显示History属性 234
第八章 控制History对象 234
8.2 确定URL链接数 236
实例:History.length属性 236
8.3 定位History记录 238
实例:history.forward()和history.back()方法 239
实例:使用forward和back方法 249
实例:history.go()方法 252
8.4 数据标记和History属性 255
实例:current、previous和next属性 255
实例:toString()方法 260
8.5 从History记录中抽取信息 260
8.6 术语和概念总结 261
第九章 使用图像 262
9.1 使用SRC属性 263
实例:使用image,src替换图像 263
9.2 Image的lowsre属性 267
实例:使用低分辨率文件预载大图像 267
9.3 检查图像加载是否完成 275
实例:检查图像加载是否完成 275
9.4 Image对象的 只读 属性 277
实例:显示图像属性 278
9.5 使用图像生成器 282
实例:使用图像生成器 282
实例:动态图像 285
9.6 onLoad事件句柄 289
实例:使用onLoad事件句柄显示一个报警 290
实例:使用onLoad事件句柄创建一个滑动显示 292
实例:利用onLoad事件句柄改变图像源 295
实例:onLoad事件句柄排除错误 300
实例:利用onError事件句柄捕捉错误 305
9.7 处理错误 305
9.8 停止图像加载 307
单击 stop 调用onAbout事件句柄 307
第十章 在Web页中嵌入Java小应用程序 310
10.1 小应用程序文件 310
10.2 下载JDK 310
运行Java编译器 311
10.3 小应用程序HTML浏览器 312
运行小应用程序浏览器 312
applet的HTML属性 313
applet参数 314
10.4 使用Java控制台 316
10.5 使用Class文件添加applet到脚本中 316
实例:使用class文件添加applet 317
10.6 使用Archive文件添加applet到脚本中 319
实例:使用Archive文件添加applet 319
实例:在脚本中控制applet参数 321
10.7 在脚本中控制applet参数 321
10.8 利用document.applet属性引用applet 324
实例:利用document属性引用applet 324
10.9 applets和LiveConnect 328
10.10 术语和概念总结 328
第十一章 使用插件对象 329
11.1 在文档中嵌入插件 330
11.2 访问插件/嵌入数组 331
11.3 使用plugin对象的属性 334
实例:使用plugin对象属性 334
实例:显示插件文件名 340
实例:显示插件名称 342
11.4 刷新浏览器可用的插件列表 344
实例:刷新浏览器可用插件列表 345
11.5 检查确认一个插件是否可用 346
实例: 检查确认一个插件是否可用 347
实例:从脚本中控制插件 349
11.6 控制插件 349
11.7 插件和即时连接 352
11.8 新术语和概念总结 353
第十二章 控制位置 354
12.1 使用不带任何属性的location对象 354
12.2 location对象的属性 358
12.3 引用整个URL 359
12.4 引用协议 360
实例:引用不同协议 360
实例:使用host、hostname和port属性 376
12.5 应用主机、主机名和服务端口号 376
数据标记 376
12.6 引用路径名 383
12.7 引用 # 号 383
实例:使用hash属性 383
12.8 引用搜索查询 390
实例:使用location对象属性 390
12.9 从脚本中再次加载一个文档 395
实例:从脚本中再次加载文档 395
实例:在历史记录中替换URL 397
12.10 在历史记录中替换一个URL 397
12.11 新术语和概念总结 401
第十三章 生成活动图像区域 402
13.1 为area对象模拟一个onclick的事件句柄 403
实例:使用JavaScript:protocol模拟一个onclick事件句柄 403
13.2 使用onmouseover事件句柄显示状态信息 406
实例:使用onmouseover事件句柄显示状态信息 406
13.3 使用onmouseout事件句柄清除状态信息 409
实例:清除状态栏信息 409
实例:生成图像映像 411
13.4 生成一个图像映像 411
第十四章 使用链接工作 422
14.1 确定一个文档中链接的数目 423
实例:确定一个文档中链接数 423
14.2 确定链接目标位置 426
14.3 在链接被浏览前使用onClick事件句柄 426
14.4 使用onMouseOver显示状态信息 426
实例:使用onMouseOver显示状态栏信息 427
14.5 使用onMouseOut清除一条状态信息 429
实例:使用onMouseOut清除一条状态信息 430
链接JavaScript协议的例子 432
14.6 在链接中使用其他协议 432
第十五章 介绍FORM对象 434
15.1 获得含有对象的窗体 435
15.2 确定form对象的类型 437
实例:确定窗体类型 438
15.3 计算表达式 440
15.4 把一个对象转换成字符串 441
15.5 确定一个对象的值 441
16.1 定义文本字段 442
第十六章 在文档中添加文本字段 442
实例:生成文本字段 443
text对象术语 444
文本字段位置 445
16.2 Text对象 446
16.3 命名text对象 447
16.4 获得和设置text对象值 448
实例:使用text.Value属性 448
实例:使用defanltvalue属性 453
16.5 从text对象中获得缺省值 453
分析textvalue.html脚本 453
分析脚本textdefaultvalue.html 457
16.6 设置输入焦点 458
16.7 取消输入焦点 458
实例:focus()和blur()方法 458
16.8 自动选择文本 461
16.9 使用onChange事件句柄使数据生效 462
实例:使用onChange事件句柄使文字生效 462
16.11 当文本选中时捕捉事件 469
16.10 当文本框成为焦点时捕捉事件 469
16.12 当文本字段取消焦点时捕捉事件 470
16.13 当用户转到另一个文本字段上时捕捉事件 470
实例:使用text对象事件句柄 470
16.14 新术语和概念总结 474
第十七章 在文档中添加口令字段 475
17.1 定义一个口令字段 475
实例:生成口令字段 476
口令字段位置 477
17.2 password对象 478
第十八章 在文档中添加文本区域 479
18.1 定义文本区域 479
实例:生成文本区域 480
文本区域位置 482
18.2 Textarea对象 483
第十九章 在文档中激活按钮 484
19.1 定义按钮行为 486
实例:onClick事件句柄 487
19.2 引用按钮名和值 488
19.3 click方法 489
实例:使用Click()方法 489
使用click()方法的安全漏洞 490
19.4 submit和reset对象 491
实例:reset对象 491
19.5 新术语和概念总结 494
第二十章 使用复选框 495
20.1 定义复选框 495
实例:生成复选框 496
复选框的位置 498
20.2 Checkbox对象 505
20.3 获得Checkbox对象的名称 505
20.4 获得Checkbox对象的值 505
实例:使用复选框值 506
20.5 获得和设置选中标记 511
实例:使用Checked属性 511
20.6 获得Checkbox对象的缺省值 515
实例: Checkbox.type 518
20.7 确定表格对象的类型 518
20.8 单击复选框 521
实例:使用chick()方法 521
20.9 单击时执行脚本行为 526
实例:checkbox对象的onChick事件句柄 527
实例:一个餐馆评价表 528
第二十一章 使用单选框和隐藏对象 536
21.1 定义单选框 536
实例:生成单选框 537
21.2 单选框位置 538
21.3 使用隐藏对象存储单选框的值 541
实例:使用隐藏对象和单选框 541
21.4 radio对象 543
21.5 获得radio对象的名称 544
21.6 获得radio对象的值 544
21.7 计算一套单选框的个数 545
实例:使用radio.length属性 545
21.8 确定哪个单选框为选中 549
21.9 获得radio对象的缺省值 550
21.10 单击单选框 553
实例:在脚本中单击单选框 553
21.11 单击时执行脚本行为 556
第二十二章 使用选项单 557
22.1 定义选项单 557
生成缺省选项单 558
在选项单中显示所有选项 560
生成多选单 561
22.3 Select对象 563
22.2 选项单位置 563
22.4 获得Select对象的名称 564
22.5 计算选项单中选项的个数 564
22.6 确定哪个选项为选中 564
22.7 初始设置选项更改时的行为 565
实例:onChange事件句柄 565
22.8 改变选项单的取消和激活状态 569
实例:使用循环计算值和重置缺省值 570
22.10 获得一个选项的缺省值 570
22.9 引入单个选项 570
脚本SelectLength.htm分析 572
22.11 获得和设置选项的选择值 573
实例:确定选项状态 573
21.12 获得和设置选项的字符串 576
实例:设置和提取选项文字串 576
21.13 获得和设置选项的值 580
21.14 获得选项的索引值 581
实例:使用Option()结构 582
21.15 在选项单中动态加入选项 582
第二十三章 在上载中加入文件 589
23.1 生成file Upload对象 589
实例:生成file Uploadcf 对象 590
23.2 显示file Upload对象的属性 592
实例:显示file Upload对象属性 593
23.3 确定file Upload对象的名称 595
实例:确定file Upload对象的名称 595
实例:确定file Upload对象的值 597
23.4 确定file Upload对象的值 597
23.5 显示窗体的类型 600
实例:显示文件上载类型 600
23.6 控制键盘焦点 602
实例:控制键盘焦点 602
23.7 当键盘焦点更改时处理事件 604
第二十四章 使用窗体向服务器传送数据 605
24.1 窗体传输概述 606
实例:在窗口中显示窗体属性 607
实例:确定窗体中元素的数目 609
24.2 确定窗体中输入元素的数目 609
24.3 指定向哪里传输窗体数据 614
实例:指定数据传输方向 614
24.4 指24.5 定数据如何传输 619
24.6 指24.7 定接收服24.8 务器输出的窗口或框架 619
实例:指定接收服务器输出的窗口或框架 620
24.6 用MIME类型为窗体数据编码 622
24.8 重新设置窗体到其缺省值 623
实例:重新设置窗体为缺省值 623
24.7 传输窗体 623
24.9 控制当用户传输窗体时的行为 626
24.10 控制当用户重置窗体时的事件 626
实例:控制用户重置窗体事件 626
24.11 新术语和概念总结 629
第二十五章 了解运算符 630
25.1 数学运算符 630
25.2 赋值运算符 631
25.3 比较运算符 632
25.5 二元运算符(binary operators) 633
25.4 一元运算符 633
25.6 运算符优先级 634
25.7 新术语和概念总结 635
第二十六章 对条件进行测试 636
26.1 布尔运算符 636
26.2 对一个条件进行测试 637
26.3 对多个条件进行测试 637
26.4 嵌套If...else语句 638
26.5 条件运算符 639
26.6 新术语和概念总结 640
第二十七章 生成循环结构 641
27.1 重复循环(for.for...in) 641
27.2 重复执行一系列命令(while) 642
27.3 循环检测属性(for var in object) 643
27.4 在循环中引用某一特定对象(with) 644
27.5 控制循环执行(continue) 646
27.6 中断循环的执行(break) 648
27.7 新术语和概念总结 648
28.1 定义一个字符串 649
生成一个字符串数据类型 649
第二十八章 使用字符串和字符串对象 649
生成一个字符串对象 650
实例:字符串数据类型和字符串对象的区别 650
28.2 连接字符串常数和变量 652
28.3 字符串格式化特殊字符 652
28.4 数值转换成字符串 653
28.5 字符串转换成数值 653
28.6 执行文本表达式 654
28.8 引入字符串对象 655
28.7 转换与非转换ASCⅡ码 655
28.9 查找字符串中字符的个数 656
实例:查找字符串中的字符个数 656
28.10 建立自定义字符串函数 661
实例:生成一个自定义字符串函数 661
28.11 字符串转换成anchor或link链接 664
实例:将字符串转换为anchor和link 665
28.12 使用字符串对象格式化文本 667
实例:使用字符串对象方法格式化文本 667
实例:改变字体大小和颜色 673
28.13 大小写转换 678
28.14 查找字符串的一部分 679
实例:利用indexof()查找字符串 679
实例:利用lastindexof()查找字符串 681
28.15 获取子串 682
28.16 获取字符串的第几个字符 683
实例:获取字符串第几个字符 683
28.17 将字符串分解成数组 684
28.18 新术语和概念总结 688
29.1 构造一个数组 689
第二十九章 使用数组 689
实例:构造新Array对象 690
29.2 确定数组的长度 693
29.3 从数组中抽取字符串数据 695
29.4 数组元素逆序 697
实例:数组元素逆序 697
29.5 数组元素排序 699
实例:数组排序 699
29.7 新术语和概念总结 704
29.6 为Array对象构造自己的属性 704
第三十章 使用Date对象 705
30.1 创建一个Date对象 706
实例:创建Date对象 706
30.2 分析Date串 709
实例:分析一个日期 709
30.3 读取并设置日期及时间元素 713
读取并设置月中某日 713
读取并设置月份 714
读取星期 714
读取并设置年份 714
读取并设置时间 714
读取并设置小时数 715
读取并设置分钟数 715
读取并设置秒数 715
实例:读取并设置日期及时间 715
30.4 得到时区偏移值 720
30.6 在当地读取一个Data串 721
30.5 以GMT格式获取一个Data串 721
30.7 全球标准时间 722
实例:使用Date.UTC()方法 722
30.8 为一个Date对象创建自己的属性 725
30.9 新术语和概念总结 726
第三十一章 使用Math对象 727
31.1 使用常数 728
实例:使用常数 728
31.2 数值比较 731
实例:找最大值 732
实例:找最小值 734
31.3 数字四舍五入 737
返回绝对值 737
向上取整 740
向下取整 740
数字四舍五入 740
31.4 生成随机数字 744
实例:生成随机数字 744
31.5 计算平方根 750
实例:计算平方根 751
31.6 使用三角函数 753
计算反余弦 753
计算反正弦 755
计算反正切 758
计算极角 760
计算余弦 763
计算正弦 765
计算正切 767
31.7 计算数字幂值 769
实例:改变数字的幂 770
31.8 计算自然对数 772
实例:计算自然对数 772
31.9 计算EA 774
实例:计算EX 774
31.10 术语和概念总结 776
第三十二章 使用navigator对象 777
32.1 显示navigator属性 777
32.2 识别浏览器软件 779
实例:通过名称识别浏览器软件 780
实例:通过代码名称识别浏览器软件 782
32.3 识别浏览器操作平台和版本 784
实例:识别浏览器操作平台和版本 784
32.4 识别HTTP用户代理值 787
实例:识别HTTP用户代理值 788
32.5 测试Java是否可用 789
实例:测试Java是否可用 790
实例:测试数据标记是否可用 792
32.6 测试数据标记是否被认可 792
32.7 Plugin和mime Type属性 795
第三十三章 指定MIME类型 796
33.1 mimeType对象 796
33.2 访问MIME类型的description属性 802
33.3 确定处理MIME类型的插件 803
实例:确定处理MIME类型的插件 803
33.4 确定MIME类型的类型 805
实例:确定MIME类型的类型 806
实例:确定MIME类型的扩展名 808
33.5 确定MIME类型的扩展名 808
33.6 新术语和概念总结 812
第三十四章 创建自己的JavaScript对象 813
34.1 使用函数对象 813
确定调用函数者 813
确定传送给函数的变量 816
创建函数原型的方法 820
34.2 创建自定义对象函数 820
34.5 创建一个自定义的Name对象 821
34.3 创建一个自定义对象实例 821
34.4 访问自定义属性和方法 821
34.6 显示自定义对象的属性值 825
34.7 创建一个自定义对象的prototype方法 830
34.8 组合自定义对象 838
第三十五章 利用Cookie属性控制脚本输入输出 849
35.1 Cookie文件的位置 849
35.3 安全问题与Cookie 850
35.4 从JavaScript访问Cookie 850
35.2 Cookie属性的限制 850
35.5 存取公共域Cookie函数 851
35.6 创建基本的Cookie名称 851
35.7 创建带有路径名的Cookie 853
35.8 设置Cookie的截止期 856
35.9 删除Cookie 859
35.10 设置Cookie域 862
35.11 创建一个Secure Cookie 864
35.12 一个复杂的Cookie例子 865
35.13 术语和概念总结 871
第三十六章 控制数据标记 872
36.1 在你的平台上实现数据标记 873
实现数据标记 874
36.2 访问带数据标记的窗口 875
36.3 标记数据 880
实例:标记数据 880
36.4 取消数据标记 885
实例:取消数据标记 885
实例:试图从另一个脚本上取消属性标记 890
36.5 术语和概念总结 894