第1部分 JavaScript初步 1
第1章 JavaScript在万维网上的地位 3
网上竞争 3
标准的沿革 4
CGI的script过程 4
关于辅助程序、插件和小应用程序 5
插件 5
Java的小应用程序 5
JavaScript:语言的集大成者 6
LiveScript变成了JavaScript 6
走到一起来 7
微软世界 7
JavaScript:一种活学活用的好工具 8
第2章 浏览器竞争中写作工具的挑战 9
相互竞争 9
相互趋同 10
今天的兼容性问题 11
区分诸对象的不同语言 11
核心语言标准 11
阶梯排列的风格页 13
动态HTML 13
script编写策略 14
第3章 JavaScript初步 15
软件工具 15
选择文本编辑器 15
选择浏览器 16
设置你的写作环境 16
窗口 17
MacOS 17
script首次要做什么 18
输入初始的script 19
检查script 20
<SCRIPT>标记符 20
一个script对应所有浏览器 21
文本显示 22
享受乐趣 23
第2部分 JavaScript指南 25
第4章 浏览器和文档对象 27
script运行演示 27
JavaScript在行动 28
交互的用户界面 28
少量数据的查找 29
表单确认 30
交互数据 30
多重框架 31
动态HTML 32
什么时候用JavaScript 32
文档对象模型 34
严格的分级结构 35
当文档下载时 35
一个简单的文档 36
添加一个表单 36
添加入一个文本输入单元 37
添加一个按钮元素 37
对象引用 38
对象命名 38
一个简单的文档 39
添加一个表单 39
添加一个文本输入元素 40
添加一个按钮元素 40
关于点语法 40
新闻组的组织模型 41
对象定义的是什么 42
属性 42
方法 43
事件处理程序 44
练习 45
第5章 script和HTML 47
script放在文档哪儿 47
<SCRIPT>标记符 47
标记符位置 48
处理老版本的浏览器 50
JavaScript语句 51
script语句什么时候执行 51
当文档下载时立刻执行 51
延时script 52
script与编程 54
练习 55
第6章 程序设计基础之一 57
处理信息 57
变量 58
创建变量 58
变量名 59
表达式和求值 59
script1.htm中的表达式 60
表达式与变量 60
数据类型转换 62
转换字符串为数值 63
转换数字到字符串 64
操作符 64
算术操作符 64
比较操作符 65
练习 65
第7章 程序设计基础之二 67
决策与循环 67
控制结构 68
if结构 68
if…else结构 69
循环结构 69
函数 70
函数参数 71
变量值域 72
花括弧 74
数组 74
建立数组 75
存取数组数据 76
关联数组 76
数组中的文档对象 78
练习 78
第8章 窗口及文档对象 81
文档对象 81
窗口对象 81
访问窗口属性及方法 82
建立窗口 83
窗口属性及方法 84
window.status属性 85
window.alert()方法 85
window.confirm()方法 86
window.prompt()方法 86
onLoad=事件处理程序 87
位置对象 87
历史对象 88
文档对象 88
document.forms[]属性 88
document.title属性 89
document.write()方法 89
连接对象 91
练习 92
第9章 表单与表单元素 93
表单对象 93
表单对象和容器 93
建立一个表单 94
form element[]属性 94
文本对象 95
按钮对象 96
复选框对象 96
单选钮对象 97
选择对象 99
向函数传递表单数据和元素 100
提交表单 102
练习 104
第10章 字符串、数学和日期 105
核心语言对象 105
字符串对象 105
连接字符串 106
字符串方法 107
改变字符串大小写 107
字符串搜索 108
获取字符和子字符串 108
数学(Math)对象 109
日期对象 110
日期计算 112
练习 113
第11章 用脚本编写框架和多窗口 115
框架:父和子 115
引用家族成员 117
父到子引用 117
子到父引用 117
子到子引用 118
框架的脚本编程提示 118
控制多框架——Navigator栏 119
窗口引用的其他内容 121
练习 122
第12章 图象和动态HTML 125
image(图象)对象 125
能互相转换的图象 126
预缓存图象 126
创建图象的rollover 128
HTML中其他的动态内容 131
练习 131
第3部分 JavaScript对象和语言引用 133
第13章 JavaScript基础 135
语言和文档对象 135
核心语言标准——ECMAscript 135
文档对象标准 136
对象层组织 136
层次路线图 137
JavaScript文档对象路径图 138
创建JavaScript对象 139
对象属性 139
对象的方法 140
对象的事件处理程序 141
作为方法的事件处理程序 141
作为属性的事件处理程序 142
在文档中嵌入script 143
<SCRIPT>标记符 143
JavaScript与JScript和VBScript 144
隐藏以前浏览器中的script语句 144
如何完全隐藏script 145
script库 145
兼容性问题 146
JavaScript实体 147
浏览器版本判定 147
JavaScript在运行吗 148
使用<NOSCRIPT>标记符 148
其他不能用script编写的浏览器 149
不同浏览器的脚本编写 150
建立目标 150
完成分支索引页 151
一个链接——交替目的 152
多层script 153
编译事件处理程序的属性 154
兼容性设计 155
对待测试版的浏览器 155
参考章节的兼容性等级 156
本书的对象属性 157
第14章 窗口对象 159
窗口术语 159
框架 160
创建框架 160
框架对象模型 160
引用框架 161
top与parent 162
防止形成框架 162
从框架转向无框架 163
继承还是包容(containment) 163
框架同步 163
空框架 164
浏览器框架源代码 165
窗口对象 165
语法 166
关子该对象 166
属性 168
方法 198
事件处理程序 249
框架对象 254
语法 254
关于该对象 255
第15章 location和history对象 257
location对象 257
语法 258
关于此对象 258
属性 260
方法 274
history对象 277
语法 277
关于此对象 277
属性 278
方法 280
第16章 document对象 285
动态HTML和文档 285
document对象 286
语法 287
关于本对象 288
属性 288
方法 316
第17章 link和anchor对象 329
link对象 329
语法 329
关于该对象 330
属性 331
事件处理程序 333
anchor对象 339
语法 339
关于该对象 339
属性 339
第18章 image和area对象 341
image对象 341
语法 342
关于该对象 342
属性 344
事件处理程序 350
area对象 352
语法 352
关于该对象 352
第19章 layer对象 355
Netscape layer 355
layer对象 355
语法 356
关于该对象 357
层引用 357
跨平台关系 360
属性 360
方法 386
事件处理程序 393
第20章 小应用程序对象 397
不需要Java 397
小应用程序对象 397
语法 397
关于这个对象 398
例子 399
第21章 表单对象 401
对象层次里的表单 401
表单对象 401
语法 402
关于这个对象 402
引用表单元素 403
向函数传递表单和元素 403
通过电子邮件传递表单 406
改变表单属性 408
表单中的按钮 408
提交后重定位 408
表单元素数组 409
属性 410
方法 415
事件处理程序 417
第22章 文本相关对象 421
文本对象 422
语法 422
关于本对象 423
属性 425
方法 430
事件处理程序 433
口令对象 437
语法 438
关于这个对象 438
文本区域对象 438
语法 439
关于这个对象 439
文本区中的换行 440
隐含对象 441
语法 441
关于这个对象 441
第23章 按钮对象 443
按钮对象、提交对象和复位对象 443
语法 443
关于这些对象 444
属性 446
方法 447
事件处理程序 448
复选框对象 449
语法 450
关于这个对象 450
属性 451
方法 455
事件处理程序 456
radio对象 457
语法 458
关于这个对象 458
属性 459
方法 463
事件处理程序 464
第24章 select和fileUpload对象 467
select对象 467
语法 468
关于这个对象 468
修改select选项 470
属性 474
方法 483
事件处理程序 483
fileUpload对象 485
语法 485
关于这个对象 486
第25章 Navigator和其他环境对象 487
Navigator对象 487
语法 488
关于这个对象 488
属性 488
方法 497
mimeType对象 500
语法 501
关于这个对象 501
属性 502
plugin对象 504
语法 505
关于这个对象 505
属性 506
方法 506
寻找MIME和插件 508
核对MIME类型 508
核对插件 509
验证插件和MIME类型 510
管理插件的安装(Navigator3) 511
screen对象 511
语法 511
关于这个对象 512
第26章 字符串对象 515
字符串和数字型数据类型 515
简单字符串 515
建立长字符串变量 516
连接字符串文本和字符串变量 516
特殊的内部字符 517
字符串对象 518
语法 519
关于这个对象 519
属性 520
语法类方法 522
字符串实用函数 539
格式化方法 540
URL字符串编码及解码 542
第27章 数学、数值和布尔对象 543
JavaScript中的数值 543
整数与浮点数 544
十六进制和八进制整数 546
将字符串转换位数值 547
将数值转换为字符串 548
当一个数不是数值时 549
Math对象 549
语法 549
关于这个对象 549
属性 550
方法 550
创建随机数 551
Math对象捷径 552
数值对象 553
语法 553
关于这个对象 553
布尔对象 554
语法 554
关于这个对象 554
第28章 日期对象 555
时区和GMT 555
日期对象 556
创建日期对象 557
日期原型属性 558
日期方法 559
关于时区 561
用字符申表示日期 561
友好的日期格式 562
更多的转换 563
新方法 564
日期和时间算术 564
有关日期对象的bug 566
在表单中验证日期输入 567
第29章 数组对象 571
结构化数据 571
创建一个空数组 572
填充数组 573
JavaScript 1.2对数组创建的扩充 575
删除数组和数组元素 576
模拟二维数组 576
数组对象属性 580
数组对象的方法 581
第30章 正则表达式和RegExp对象 593
正则表达式和模式(pattern) 593
语言基础 594
简单模式 595
特殊字符 595
分组和向后引用 598
对象关系 598
使用正则表达式 602
有匹配吗 602
取得匹配的信息 604
字符串替换 606
正则表达式对象 608
语法 608
关于该对象 608
属性 609
方法 610
RegExp对象 612
语法 612
关于该对象 612
属性 613
第31章 控制结构 617
if和if…else判断 617
简单判断 617
关于(条件)表达式 618
复杂判断 619
嵌套if…else语句 620
条件表达式 622
重复(for)循环 623
使用循环变量 624
跳出循环 626
用condition指导循环方向 627
while循环 627
do-while循环 628
循环处理属性 629
with语句 630
标号语句 631
switch语句 633
第32章 JavaScript操作符 637
操作符分类 637
比较操作符 638
不同数据类型的相等 639
结合操作符 641
赋值操作符 643
布尔操作符 645
布尔算术 645
布尔操作符应用 647
位操作符 649
typeof操作符 650
void操作符 650
new操作符 651
delete操作符 651
this操作符 652
操作符优先级 653
第33章 事件对象 657
为什么要有事件 657
事件处事程序 658
事件属性 658
新的浏览器——新的事件 659
增强的鼠标事件 660
键盘事件 660
拖放事件 661
窗口改变事件 661
事件对象 661
语法 662
关于该对象 662
属性 663
第34章 函数和自定义对象 671
函数对象 671
语法 671
关于该对象 672
创建函数 672
嵌套函数 673
函数参数 674
属性 675
函数应用注意事项 679
函数调用 679
变量作用域:全局与局部 680
参数变量 683
递归函数 683
把函数组织成库 684
自定义对象 685
一个例子——行星对象 685
添加自定义方法 690
创建对象的更多方法 692
对象监视方法 692
使用自定义对象 693
JavaScript构件 693
JavaScript Beans 694
scriptlet 695
配置 695
第35章 全局函数和语句 697
函数 697
语句 704
第36章 服务器端的JavaScript 707
为文档加上服务器端的处理 707
嵌入式服务器script 708
服务器端的库 709
服务器端的核心对象 709
server对象 710
project对象 710
client对象 711
request对象 711
用LiveWire访问数据库 712
数据库访问的过程 712
访问记录 713
服务器端JavaScript还是客户端JavaScript 714
第4部分 使用JavaScript 715
第37章 数据输入验证 717
实时与批处理验证 717
实时验证触发器 717
批模式验证 718
设计过滤器 718
构建一个过滤器函数库 719
isEmpty() 719
isPosInteger() 720
isInteger() 721
isNumber() 722
定制验证函数 723
综合验证函数 724
日期和时间验证 725
“Industrial-Strength”验证解决方案 726
结构 726
调度机制 726
验证例子 727
美国州名 729
日期验证 731
交叉确认域 738
最后的检查 739
数据有效性验证的规划 740
第38章 LiveConnect:用脚本编写Java小应用程序和插件 741
LiveConnect概述 741
为什么要控制Java小应用程序 742
小规模的Java 743
Java创建块类 743
Java的方法 743
Java小应用程序的属性 744
访问Java域 745
用script对真实生活中的小应用程序进行编程 745
理解script编程方法 746
小应用程序的局限性 749
不露面的小应用程序 750
数据类型转换 754
小应用程序与script间的通信 754
你的小应用程序需要什么 754
HTML需要什么 756
关于JSObject.class 756
数据类型转换 757
小应用程序与script应用程序示例 758
用script编写Navigator的插件 761
在script中访问LiveAudio 762
LiveAudio怎样工作 763
用script直接访问Java类 766
第39章 高级事件处理 769
其他事件对象 769
捕获事件 770
事件捕获的实现 770
关闭事件捕获 771
向事件目标传递事件 774
事件流量控制 777
修改事件 780
事件模型 780
跨平台热键检测 780
跨平台键的捕获 782
未来的事件 783
第40章 安全性和签名script 785
关于安全性 785
当发生冲突时 786
Java的SandBox(沙箱) 786
安全策略(policy) 787
同源策略 788
设置document.domain 788
源检测 789
window对象检测 789
location对象检测 789
document对象检测 789
layer对象检测 789
表单对象检测 789
小应用程序对象检测 790
image对象检测 790
连接的script库检测 790
签名script策略 790
签名对象和script 791
签名script的用处 791
数值证书 791
怎样得到一个证书 792
认证证书 793
激活codebase principal 793
签名script 794
签名工具 794
准备script签名 794
ARCHIVE属性 795
ID属性 795
运行页面签名器 797
编辑和移动签名script 798
访问受保护的属性和方法 798
得到授权 798
指定目标 799
script权限注意事项 801
保持小窗口 801
考虑用户 801
例子 801
访问受保护的窗口属性 802
访问本地文件 802
处理Java类错误 805
签名script的其它内容 806
导出和导入签名script 806
对签名网页加锁 807
国际字符 807
第41章 用script编写跨平台的动态HTML 809
什么是DHTML 809
层叠风格表单(CSS1) 810
层叠风格表单定位(CSS-P) 811
文档对象模型(DOM) 811
客户端script编写 812
跨平台DHTML挑战 812
Netscape扩展——层 812
Microsoft的扩展——风格对象 813
找出共同点 813
创建PT 814
可定位元素的引用 815
Navigator层引用 815
Internet Explorer风格引用 816
属性名的不兼容性 816
关于方法 817
处理不兼容性 817
内联分支 817
平台等价 818
自定义API 820
处理非DHTML浏览器 821
一个DHTML应用程序例子 822
拼图游戏的设计 822
实现细节 823
自定义API 824
主程序 827
经验与教训 837
第42章 Netscape动态HTML和JavaScript的扩展部分 839
JavaScript风格 839
标记符对象 840
类对象 841
ids对象 842
all关键字 842
contextual风格 843
风格属性 843
block-level格式化属性 844
字体和文本属性 845
classfication属性 846
动态定位 847
Navigator的猜谜游戏综述 847
主文档 847
帮助面板 852
小结 854
第43章 Microsoft的动态HTML 855
Internet Explorer 4文档对象模式 855
典型对象 855
文本范围对象 857
风格对象 858
引用对象——all collection 858
风格对象属性 859
动态定位 862
Navigator猜谜游戏综述 863
文档 863
小结 868
第44章 Internet Explorer 4 JScript和对象模型 869
核心语言 869
文档对象模式 870
元素对象 871
collection 872
事件 874
脚本化引擎版本 875
第45章 调试script 877
语法与运行错误 877
错误消息报警 878
多重错误消息窗口 879
错误消息 879
发现问题 883
检查HTML标记符 883
察看源 883
断断续续的script 884
script在表中不工作 884
重新打开文件 884
找出作用的原因 885
注释语句 885
检查表达式赋值 885
检查对象引用和属性 886
使用JavaScript Debugger 887
安装Debugger 887
开始运行跟踪查错程序 887
Debugger框架 887
Debugger单步运行 888
单步执行程序 889
人工观察值 889
自动观察值——watches 890
写出自己的跟踪应用 890
加载trace.js库 892
trace.js的预处理文档 892
调用trace() 892
关于计时器 893
Navigator崩溃 893
预防问题 894
使结构正确 894
逐渐地创建 895
测试表达式的值 895
创建函数工作台 895
测试你的杰作 895
第46章 写作工具 897
Acadia的Infuse 2.0 897
Netscape Visual JavaScript 898
其他服务器端的工具 900
第47~53章 JavaScript的一些应用 903
CD-ROM中附加的应用章节 903
第5部分 附录 905
附录A Netscape Navigator Object Road Map和兼容性指南 907
附录B JavaScript的保留字 913
附录C 练习答案 915
附录D JavaScript的Internet资源 931
附录E 使用CD-ROM 933