标题：JavaScript宝典
基本信息
作者:(美国)(Goodman.D.)古德曼 (美国)(Morrison.M.)莫里森 译者:张文波
出版社：人民邮电出版社
页码：732 页  　　出版日期：2009年
ISBN：9787115193384
装帧：平装
开本：16
定价：99.00
内容简介
JavaScript脚本用于创建Web浏览器支持的交互式网页，是一种简单易学的Web编程语言。《JavaScript宝典(第6版)》全面系统地介绍了客户端JavaScript脚本编程技术。从简单介绍JavaScript与Web开始，循序渐进地介绍了Web浏览器、基本的编程技巧和编程步骤。接着，深入探讨了浏览器文档对象模型的发展，详细介绍了JavaScript对象的有关知识，包括对象的属性、方法和事件处理程序等内容。最后，细致地讲述了JavaScript核心语言，包括String，Math，Date和Array等核心对象以及异常处理等内容。通过《JavaScript宝典(第6版)》的学习，读者可以根据实际需要制作出自己的动态网页，全方位拓展自己的网页设计知识和基本技能。
《JavaScript宝典(第6版)》内容全面、示例典型，适合各层次的网页设计人员学习和参考。
编辑推荐
使用JavaScript。让您的网页在浩瀚的网络海洋中焕发出夺目光彩 这本专家级的指南，是畅销书《JavaScript Bible》的升级换代 不管您是JavaScript高手，还是初学者，《JavaScript宝典(第6版)》都值得JavaScript Web开发人员一遍一遍地反复研读。
·掌握JavaScript基础，编写您的第一个实用脚本；
·为单平台和跨平台用户开发代码，并满足不断发展的标准。
·获悉文档对象模型以及HTML元素对象的要点；
·编写脚本，动态修改Web网页，以响应用户操作；
·学会新的Ajax技术，创建有效的网页用户接口；
·应用最新的JavaScript异常处理，以及定制对象的技术；
·创建站点的交互能力，如Google Maps。
目录
第1部分 JavaScript起步
第1章 JavaScript在万维网及其他方面的作用3
1.1 Web上的竞争3
1.2 其他Web技术4
1.2.1 超文本标记语言(HTML和XHTML)4
1.2.2 CSS(层叠样式表)4
1.2.3 服务器编程4
1.2.4 辅助程序和插件程序5
1.3 JavaScript：语言的集大成者6
1.3.1 LiveScript变成了JavaScript6
1.3.2 微软世界6
1.4 JavaScript：灵活好用的工具7
第2章 开发适用于各种浏览器的JavaScript8
2.1 相互竞争8
2.2 相互包容9
2.3 当今的兼容性问题9
2.3.1 将语言从对象中独立出来9
2.3.2 核心语言标准10
2.3.3 文档对象模型11
2.3.4 层叠样式表11
2.3.5 动态HTML和定位12
2.4 开发脚本编写策略12
第3章 第1个JavaScript脚本13
3.1 软件工具13
3.1.1 选择文本编辑器13
3.1.2 选择浏览器14
3.2 设置编写环境14
3.2.1 Windows14
3.2.2 MacOSX14
3.2.3 重载问题15
3.3 第一个脚本的功能15
3.4 输入第一个脚本16
3.5 检查脚本17
3.5.1 HTML文档17
3.5.2 script标记17
3.5.3 运行脚本的触发器17
3.5.4 插入文本17
3.5.5 获得浏览器信息18
3.6 轻松编写脚本18
第2部分 JavaScript教程
第4章 浏览器对象和文档对象21
4.1 脚本运行初步21
4.2 何时使用JavaScript22
4.3 文档对象模型22
4.3.1 HTML结构和DOM23
4.3.2 浏览器窗口中的DOM23
4.4 载入文档时24
4.4.1 一个简单的文档24
4.4.2 添加段落元素24
4.4.3 添加段落文本24
4.4.4 生成新元素24
4.5 对象引用25
4.5.1 对象命名25
4.5.2 引用特定对象25
4.6 节点术语26
4.6.1 node概述26
4.6.2 父与子26
4.7 如何定义对象27
4.7.1 属性27
4.7.2 方法28
4.7.3 事件28
4.8 习题29
第5章 脚本和HTML文档30
5.1 脚本放在文档何处30
5.1.1 script标记30
5.1.2 标记位置31
5.1.3 处理旧版本的浏览器32
5.2 JavaScript语句32
5.3 脚本语句何时执行33
5.3.1 文档载入时，即刻执行33
5.3.2 延时脚本33
5.4 观察脚本错误35
5.5 脚本和编程35
5.6 习题36
第6章 程序设计基础之一37
6.1 关于JavaScript语言37
6.2 处理信息37
6.3 变量38
6.3.1 创建变量38
6.3.2 变量名38
6.4 表达式和求值39
6.4.1 脚本中的表达式39
6.4.2 表达式和变量40
6.5 数据类型转换40
6.5.1 将字符串转换为数值41
6.5.2 将数值转换为字符串41
6.6 操作符41
6.6.1 算术操作符41
6.6.2 比较操作符42
6.7 习题42
第7章 程序设计基础之二43
7.1 决策和循环43
7.2 控制结构43
7.2.1 if结构44
7.2.2 if…else结构44
7.3 重复循环45
7.4 函数45
7.4.1 函数参数45
7.4.2 变量作用域46
7.5 大括号47
7.6 数组48
7.6.1 创建数组48
7.6.2 存取数组数据48
7.6.3 关联数组49
7.6.4 数组中的document对象50
7.7 习题50
第8章 window和document对象51
8.1 顶层对象51
8.2 window对象51
8.2.1 访问窗口属性和方法52
8.2.2 创建窗口52
8.3 window对象的属性和方法53
8.3.1 window.alert()方法53
8.3.2 window.confirm()方法53
8.3.3 window.prompt()方法54
8.3.4 load事件54
8.4 location对象54
8.5 navigator对象55
8.6 document对象55
8.6.1 document.forms[]属性55
8.6.2 document.images[]属性56
8.6.3 document.write()方法56
8.6.4 document.createElement()和document.createTextNode()方法57
8.6.5 document.getElementById()方法58
8.7 习题58
第9章 表单和表单元素59
9.1 form对象59
9.1.1 作为对象和容器的表单59
9.1.2 访问表单属性60
9.1.3 form.elements[]属性60
9.2 作为对象的表单控件60
9.2.1 文本相关的输入对象61
9.2.2 按钮对象62
9.2.3 复选框对象62
9.2.4 单选按钮对象63
9.2.5 select对象64
9.3 向函数传递表单数据和元素65
9.4 提交和预验证表单66
9.5 习题67
第10章 String、Math和Date对象68
10.1 核心语言对象68
10.2 String对象68
10.2.1 连接字符串69
10.2.2 字符串方法69
10.3 Math对象70
10.4 Date对象71
10.5 日期计算72
10.6 习题73
第11章 用脚本编写框架和多窗口74
11.1 框架：父框架和子框架74
11.2 家庭成员间的引用75
11.2.1 父到子的引用75
11.2.2 子到父的引用75
11.2.3 子到子的引用76
11.3 框架脚本编程提示76
11.4 iframe元素简介76
11.5 控制多框架——导航条77
11.6 多窗口引用78
11.7 习题79
第12章 图像和动态HTML80
12.1 image对象80
12.1.1 可互换的图像80
12.1.2 预缓存图像81
12.1.3 创建图像翻转82
12.2 无须脚本的翻转84
12.3 Javascript：伪URL85
12.4 流行的动态HTML技术85
12.4.1 更改样式表设置86
12.4.2 通过W3CDOM节点实现动态内容86
12.4.3 通过innerHTML属性实现动态内容86
12.5 习题87
第3部分 文档对象参考
第13章 JavaScript基础91
13.1 JavaScript版本91
13.2 核心语言标准——ECMAScript92
13.3 在HTML文档中嵌入脚本92
13.3.1 script标记92
13.3.2 从旧浏览器中隐藏脚本语句93
13.3.3 完全隐藏脚本94
13.3.4 向XHTML验证程序隐藏脚本94
13.3.5 脚本库(.js文件)95
13.4 浏览器版本检测95
13.4.1 非脚本浏览器的编码95
13.4.2 为不同的浏览器编写脚本96
13.5 兼容性设计99
13.5.1 处理beta版浏览器99
13.5.2 TheEvaluatorSr.1 00
13.5.3 参考章 节中的兼容性等级100
13.6 有经验程序员的语言基础101
13.7 对象模型的发展103
第14章 文档对象模型基础104
14.1 对象模型层次104
14.1.1 作为路径图的层次104
14.1.2 浏览器文档对象路径图105
14.2 文档对象的产生过程105
14.3 对象属性106
14.4 对象方法106
14.5 对象事件处理器107
14.6 对象模型概述107
14.7 基本对象模型108
14.8 基本附加图像对象模型108
14.9 Navigator4扩展109
14.9.1 事件捕获模型109
14.9.2 层109
14.10 InternetExplorer4+扩展110
14.10.1 HTML元素对象110
14.10.2 元素包含层次110
14.10.3 层叠样式表111
14.10.4 事件冒泡111
14.11 InternetExplorer5+扩展111
14.12 W3CDOM112
14.12.1 DOM层112
14.12.2 规范中衡定不变的部分113
14.12.3 W3CDOM中不具备的特性113
14.12.4 新的HTML惯例113
14.12.5 新DOM概念114
14.12.6 静态W3CDOMHTML对象119
14.12.7 双向事件模型120
14.13 脚本编程趋势121
14.13.1 将内容与脚本分离121
14.13.2 尽可能使用W3CDOM122
14.13.3 处理事件122
14.14 标准兼容模式(DOCTYPE切换)122
14.15 JavaScript对象模型基础小结123
第15章 通用html元素对象124
15.1 语法126
15.2 关于这些对象127
15.3 属性127
15.4 方法167
15.5 事件处理器211
15.6 常用键盘事件任务228
第16章 window对象和frame对象239
16.1 window对象术语239
16.2 框架239
16.2.1 创建框架240
16.2.2 框架对象模型240
16.2.3 引用框架240
16.2.4 top和parent241
16.2.5 防止页面在其他Web站点的框架中显示241
16.2.6 确认页面载入框架集241
16.2.7 从有框架到去掉框架242
16.2.8 继承性和封装性242
16.2.9 框架同步242
16.2.10 空白框架242
16.2.11 查看框架源代码243
16.2.12 框架和frame元素对象243
16.3 window对象243
16.3.1 语法245
16.3.2 关于window对象245
16.3.3 属性246
16.3.4 方法268
16.3.5 事件处理器300
16.4 frame元素对象304
16.4.1 语法304
16.4.2 关于frame对象304
16.4.3 属性304
16.5 frameset元素对象308
16.5.1 语法308
16.5.2 关于frameset对象309
16.5.3 属性309
16.6 iframe元素对象312
16.6.1 语法312
16.6.2 关于iframe对象313
16.6.3 属性313
16.7 popup对象316
16.7.1 语法316
16.7.2 关于popup对象316
16.7.3 属性317
16.7.4 方法317
第17章 location对象和history对象320
17.1 location对象320
17.1.1 语法320
17.1.2 关于location对象320
17.1.3 属性322
17.1.4 方法329
17.2 history对象331
17.2.1 语法331
17.2.2 关于history对象331
17.2.3 属性332
17.2.4 方法333
第18章 document对象和body对象336
18.1 document对象336
18.1.1 语法338
18.1.2 关于document对象338
18.1.3 属性339
18.1.4 方法365
18.1.5 事件处理器380
18.2 body元素对象381
18.2.1 语法381
18.2.2 关于body对象381
18.2.3 属性382
18.2.4 方法385
18.2.5 事件处理器386
18.3 TreeWalker对象386
18.3.1 语法386
18.3.2 关于此对象386
18.3.3 属性387
18.3.4 方法387
第19章 Link和Anchor对象389
第20章 lmage对象、Area对象、Map对象和Canvas对象394
20.1 image和img元素对象394
20.1.1 语法395
20.1.2 关于此对象395
20.1.3 属性396
20.1.4 事件处理器405
20.2 area元素对象407
20.2.1 语法407
20.2.2 关于此对象407
20.2.3 属性408
20.3 map元素对象409
20.3.1 语法409
20.3.2 关于此对象409
20.3.3 属性410
20.4 canvas对象411
20.4.1 语法412
20.4.2 关于此对象412
20.4.3 属性414
20.4.4 方法416
第21章 Form及其相关对象419
21.1 对象层次中的表单419
21.2 form对象419
21.2.1 语法420
21.2.2 关于该对象420
21.2.3 引用表单控件420
21.2.4 将表单和元素传递到函数421
21.2.5 用电子邮件传输表单423
21.2.6 改变表单属性424
21.2.7 表单按钮424
21.2.8 提交后的重定位424
21.2.9 表单元素数组424
21.2.1 0关于input元素对象425
21.2.1 1属性425
21.2.1 2方法428
21.2.1 3事件处理器430
21.3 fieldset和legend元素对象431
21.3.1 语法431
21.3.2 关于这些对象431
21.4 label元素对象432
21.4.1 语法432
21.4.2 关于该对象432
21.4.3 属性432
21.5 脚本编程和WebForms2.0432
21.5.1 什么是WebForms2.0433
21.5.2 WebForms2.0和JavaScript433
第22章 按钮对象434
22.1 button元素对象以及button、submit、reset输入对象434
22.1.1 语法434
22.1.2 关于这些对象435
22.1.3 属性436
22.1.4 方法436
22.1.5 事件处理器437
22.2 复选框输入对象438
22.2.1 语法438
22.2.2 关于该对象438
22.2.3 属性438
22.2.4 方法440
22.2.5 事件处理器441
22.3 单选button输入对象442
22.3.1 语法442
22.3.2 关于该对象442
22.3.3 属性443
22.3.4 方法445
22.3.5 事件处理器445
22.4 图像输入对象446
22.4.1 语法446
22.4.2 关于该对象447
22.4.3 属性447
第23章 文本相关表单对象448
23.1 文本输入对象448
23.1.1 语法448
23.1.2 关于该对象449
23.1.3 文本域和事件449
23.1.4 属性450
23.1.5 方法454
23.1.6 事件处理器456
23.2 password输入对象458
23.2.1 语法458
23.2.2 关于该对象458
23.3 hidden输入对象458
23.3.1 语法458
23.3.2 关于该对象458
23.4 textarea表单对象459
23.4.1 语法459
23.4.2 关于该对象459
23.4.3 文本域中的回车460
23.4.4 属性460
23.4.5 方法461
第24章 选择、选项和文件上传对象462
24.1 select元素对象462
24.1.1 语法462
24.1.2 关于select对象463
24.1.3 修改select选项(NN3+、IE4+)464
24.1.4 修改select选项(IE4+)466
24.1.5 修改select选项(W3CDOM)467
24.1.6 属性468
24.1.7 方法473
24.1.8 事件处理器473
24.2 option元素对象474
24.2.1 语法475
24.2.2 关于该对象475
24.2.3 属性475
24.3 optgroup元素对象475
24.3.1 语法476
24.3.2 关于该对象476
24.3.3 属性476
24.4 file输入元素对象477
24.4.1 语法477
24.4.2 关于该对象477
第25章 event对象479
25.1 事件479
25.1.1 事件的内容和事件何时发生480
25.1.2 静态event对象480
25.2 事件传播480
25.2.1 NN4事件传播481
25.2.2 IE4+事件传播482
25.2.3 W3C事件传播485
25.3 引用事件对象488
25.4 绑定事件488
25.4.1 通过标记属性绑定事件489
25.4.2 通过对象属性绑定事件489
25.4.3 通过IE附加绑定事件490
25.4.4 通过W3C监听器绑定事件490
25.4.5 跨浏览器事件绑定解决方案491
25.5 事件对象兼容性491
25.6 深入事件模型493
25.6.1 检查跨平台的修改键493
25.6.2 跨平台的按键捕获494
25.7 事件类型494
25.8 IE4+事件对象496
25.8.1 语法497
25.8.2 关于该对象497
25.8.3 属性497
25.9 NN6+/Moz/Safarievent对象510
25.9.1 语法511
25.9.2 关于该对象511
25.9.3 属性511
25.9.4 方法523
第26章 styleSheet表和style对象525
26.1 理解对象名称525
26.2 导入样式表526
26.3 读取样式属性527
26.4 style元素对象527
26.4.1 语法527
26.4.2 关于该对象527
26.4.3 属性528
26.5 styleSheet对象528
26.5.1 语法529
26.5.2 关于该对象529
26.5.3 属性529
26.5.4 方法533
26.6 cssRule和rule对象534
26.6.1 语法535
26.6.2 关于这些对象535
26.6.3 属性535
26.7 currentStyle、runtimeStyle和style对象536
26.7.1 语法537
26.7.2 关于这些对象537
26.7.3 Style属性537
26.7.4 属性值538
26.7.5 文本和字体属性540
26.7.6 内联显示和布局属性544
26.7.7 定位属性548
26.7.8 背景属性549
26.7.9 边框和边界属性550
26.7.1 0列表属性553
26.7.1 1滚动条属性554
26.7.1 2表属性554
26.7.1 3页面和打印属性555
26.7.1 4杂项属性555
26.7.1 5听觉属性556
26.8 filter对象557
26.8.1 语法557
26.8.2 关于该对象557
26.8.3 WinIE5.5 +滤镜语法变化561
第27章 Ajax和XML565
27.1 元素和节点565
27.2 xml元素对象567
27.2.1 语法567
27.2.2 关于此对象567
27.2.3 属性567
27.3 XMLHttpRequest对象568
27.3.1 语法568
27.3.2 关于此对象568
27.3.3 属性570
27.3.4 方法572
第4部分JavaScript核心语言参考
第28章 string对象577
28.1 字符串和数值数据类型577
28.1.1 简单字符串577
28.1.2 建立长字符串变量578
28.1.3 连接字符串文字和变量578
28.1.4 特殊内嵌字符578
28.2 string对象579
28.2.1 语法579
28.2.2 关于该对象579
28.2.3 属性580
28.2.4 解析方法581
28.3 字符串使用函数593
28.4 URL字符串编码和译码595
第29章 Math、Number和Boolean对象596
29.1 JavaScript中的数值596
29.1.1 整型和浮点数值596
29.1.2 十六进制和八进制整数598
29.1.3 将字符串转换为数值598
29.1.4 将数值转换为字符串599
29.1.5 数值不是数值型时599
29.2 Math对象600
29.2.1 语法600
29.2.2 关于该对象600
29.2.3 属性600
29.2.4 方法600
29.2.5 创建随机数601
29.2.6 Math对象的快捷引用601
29.3 Number对象602
29.3.1 语法602
29.3.2 关于该对象602
29.3.3 属性602
29.3.4 方法603
29.4 Boolean对象604
29.4.1 语法604
29.4.2 关于该对象604
第30章 date对象605
30.1 时区和GMT605
30.2 date对象606
30.2.1 创建date对象606
30.2.2 内部对象的属性和方法607
30.2.3 日期方法607
30.2.4 处理时区610
30.2.5 字符串日期610
30.2.6 适于以前浏览器的日期格式610
30.2.7 更多的转换611
30.2.8 日期和时间运算611
30.2.9 计算天数612
30.2.1 0早期浏览器中日期的bug和漏洞614
30.3 表单中确认日期输入的方法614
第31章 Array对象617
31.1 结构化数据617
31.2 创建空数组618
31.3 向数组添加数据618
31.4 JavaScript数组创建环境619
31.5 删除数组项619
31.6 并行数组619
31.7 多维数组621
31.8 模拟Hash表622
31.9 array对象属性622
31.1 0array对象方法623
第32章 控制结构和异常处理633
32.1 if和if...else判定633
32.1.1 简单判定633
32.1.2 关于(条件)表达式634
32.1.3 复杂判定634
32.1.4 嵌套if...else语句635
32.2 条件表达式636
32.3 重复(for)循环636
32.3.1 使用循环计数器637
32.3.2 跳出循环638
32.3.3 使用continue继续循环639
32.4 while循环639
32.5 do-while循环640
32.6 循环遍历属性(for-in)640
32.7 with语句641
32.8 标签语句642
32.9 switch语句643
32.10 异常处理645
32.10.1 异常和错误645
32.10.2 异常机制645
32.11 使用try-catch-finally结构646
32.12 产生异常648
32.13 error对象650
32.13.1 语法651
32.13.2 关于该对象651
32.13.3 属性651
32.13.4 方法652
第33章 JavaScript操作符653
33.1 操作符类别653
33.2 比较操作符654
33.3 不同数据类型的比较654
33.4 结合操作符655
33.5 赋值操作符657
33.6 布尔操作符658
33.6.1 布尔运算658
33.6.2 使用布尔操作符660
33.7 按位操作符660
33.8 对象操作符661
33.9 其他操作符663
33.10 操作符优先级665
第34章 函数和自定义对象667
34.1 Function对象667
34.1.1 语法667
34.1.2 关于该对象667
34.1.3 创建函数668
34.1.4 嵌套函数668
34.1.5 函数参数669
34.1.6 属性669
34.1.7 方法671
34.2 函数应用注意事项672
34.2.1 调用函数672
34.2.2 变量范围：全局还是局部673
34.2.3 参数变量675
34.2.4 递归函数675
34.2.5 创建函数库676
34.2.6 封闭区间的意义676
34.3 使用面向对象的JavaScript创建自定义对象677
34.3.1 对象的具体细节678
34.3.2 例子：行星对象679
34.3.3 进一步封装682
34.3.4 创建对象数组682
34.3.5 利用嵌套对象683
34.3.6 创建对象的现代方法684
34.3.7 定义对象属性的获得者和设置者684
34.4 面向对象的概念685
34.4.1 增加原型685
34.4.2 原型继承686
34.4.3 嵌套对象和原型继承686
34.5 object对象687
34.5.1 语法687
34.5.2 关于该对象687
34.5.3 方法688
第35章 全局函数和语句690
35.1 函数690
35.2 语句695
第5部分 附录
附录A JavaScript和浏览器对象快速参考703
附录B JavaScript保留字718
附录C 练习答案719
C.1 第4章 答案719
C.2 第5章 答案720
C.3 第6章 答案721
C.4 第7章 答案721
C.5 第8章 答案724
C.6 第9章 答案725
C.7 第10章 答案727
C.8 第11章 答案728
C.9 第12章 答案728
附录D JavaScript和DOMInternet资源729
D.1 本书的技术支持和更新729
D.2 新闻组729
D.3 FAQ730
D.4 在线文档730
D.5 万维网730
附录E 本书配套光盘内容731
E.1 系统需求731
E.2 光盘内容731
E.2.1 文本编辑器的JavaScript清单731
E.2.2 附录A的JavaScript和浏览器对象快速参考的可打印版本732
E.2.3 本书主题参考的PDF版本732
E.3 疑难解答732
第6部分 附赠章 节(本部分内容在光盘中)
第36章 主体文本对象735
36.1 blockquote和q元素对象735
36.1.1 语法735
36.1.2 关于这些对象736
36.1.3 属性736
36.2 br元素对象736
36.2.1 语法736
36.2.2 关于该对象736
36.2.3 属性736
36.3 font元素对象736
36.3.1 语法737
36.3.2 关于本对象737
36.3.3 属性737
36.4 h1…h6元素对象739
36.4.1 语法739
36.4.2 关于这些对象739
36.4.3 属性739
36.5 hr元素对象740
36.5.1 语法740
36.5.2 关于该对象740
36.5.3 属性740
36.6 label元素对象742
36.6.1 语法742
36.6.2 关于该对象742
36.6.3 属性742
36.7 marquee元素对象743
36.7.1 语法743
36.7.2 关于该对象744
36.7.3 属性744
36.8 方法746
36.9 事件处理器746
36.10 Range对象747
36.10.1 语法747
36.10.2 关于该对象748
36.10.3 使用range748
36.10.4 属性749
36.10.5 方法751
36.11selection对象762
36.11.1 语法762
36.11.2 关于该对象762
36.11.3 属性763
36.11.4 方法764
36.12 ext和TextNode对象766
36.12.1 语法767
36.12.2 关于该对象767
36.1.3 属性767
36.12.4 方法768
36.13 extRange对象770
36.13.1 语法771
36.13.2 关于该对象771
36.13.3 使用文本范围772
36.13.4 关于浏览器兼容性773
36.13.5 属性773
36.13.6 方法775
36.14 extRectangle对象790
36.14.1 语法790
36.14.2 关于该对象790
36.14.3 属性791
第37章 HTML指示性对象793
37.1 HTML元素对象793
37.1.1 语法793
37.1.2 关于该对象794
37.1.3 属性794
37.2 head元素对象794
37.2.1 语法794
37.2.2 关于该对象794
37.2.3 属性794
37.3 base元素对象795
37.3.1 语法795
37.3.2 关于该对象795
37.3.3 属性795
37.4 link元素对象795
37.4.1 语法796
37.4.2 关于该对象796
37.4.3 属性796
37.4.4 事件处理器798
37.5 meta元素对象798
37.5.1 语法798
37.5.2 关于该对象798
37.5.3 属性799
37.6 script元素对象799
37.6.1 语法799
37.6.2 关于该对象800
37.6.3 属性800
37.7 title元素对象801
37.7.1 语法801
37.7.2 关于该对象801
37.7.3 属性801
第38章 表和列表对象802
38.1 表对象层次结构802
38.1.1 填充表单元格804
38.1.2 修改表单元格内容804
38.1.3 修改表行805
38.1.4 修改表列809
38.1.5 W3CDOM表对象类811
38.2 table元素对象811
38.2.1 语法812
38.2.2 关于该对象812
38.2.3 属性812
38.2.4 方法820
38.3 tbody、tfoot和thead元素对象822
38.3.1 语法822
38.3.2 关于这些对象822
38.3.3 属性823
38.4 caption元素对象823
38.4.1 语法823
38.4.2 关于该对象823
38.5 col和colgroup元素对象824
38.5.1 语法824
38.5.2 关于这些对象824
38.5.3 属性825
38.6 tr元素对象825
38.6.1 语法825
38.6.2 关于该对象826
38.6.3 属性826
38.6.4 方法827
38.7 td和th元素对象827
38.7.1 语法828
38.7.2 关于这些对象828
38.7.3 属性828
38.8 ol元素对象830
38.8.1 语法830
38.8.2 关于该对象830
38.8.3 属性831
38.9 ul元素对象831
38.9.1 语法832
38.9.2 关于该对象832
38.9.3 属性832
38.10 i元素对象832
38.10.1 语法832
38.10.2 关于该对象832
38.1 0.3 属性832
38.11dl、DT和DD元素对象833
38.11.1 语法833
38.11.2 关于这些对象833
38.12dir和menu元素对象834
38.12.1 语法834
38.12.2 关于这些对象834
第39章 Navigator和其他环境对象835
39.1 clientInformation对象(IE4+)和navigator对象(所有浏览器)835
39.1.1 语法836
39.1.2 关于该对象836
39.1.3 属性836
39.1.4 使用appVersion属性837
39.1.5 userAgent属性细节838
39.1.6 方法846
39.2 mimeType对象849
39.2.1 语法849
39.2.2 关于该对象849
39.2.3 属性849
39.3 plugin对象851
39.3.1 语法851
39.3.2 关于该对象851
39.3.3 属性852
39.3.4 方法852
39.4 查找mime类型和插件程序852
39.4.1 概述：使用mimeType和plugin对象853
39.4.2 验证mime类型853
39.4.3 验证插件程序853
39.4.4 验证插件程序和mime类型854
39.4.5 管理手工插件程序安装855
39.4.6 WinIE中的插件程序检测855
39.5 screen对象857
39.5.1 语法858
39.5.2 关于该对象858
39.5.3 属性858
39.6 userProfile对象860
39.6.1 语法860
39.6.2 关于该对象860
39.6.3 方法862
第40章 定位对象864
40.1 层的概念864
40.2 现代DOM中的定位元素865
40.2.1 改变元素背景865
40.2.2 剪切层866
40.2.3 嵌套层的脚本编写870
40.2.4 将外部HTML装入层874
40.2.5 定位元素的可见行为875
40.2.6 堆栈顺序的脚本编程876
40.2.7 拖动层和调整层的大小877
第41章 嵌入对象882
41.1 applet元素对象883
41.1.1 语法883
41.1.2 关于该对象883
41.1.3 属性884
41.2 object元素885
41.2.1 语法886
41.2.2 关于该对象886
41.2.3 属性886
41.3 embed元素对象890
41.3.1 语法890
41.3.2 关于该对象890
41.3.3 属性890
41.4 param元素的特例891
第42章 正则表达式和RegExp对象892
42.1 正则表达式和模式892
42.2 语言基础893
42.2.1 简单模式893
42.2.2 特殊字符893
42.2.3 分组和向后引用895
42.3 对象关系895
42.4 使用正则表达式897
42.4.1 是否有匹配897
42.4.2 获得匹配信息898
42.4.3 字符串替换900
42.5 正则表达式对象901
42.5.1 语法901
42.5.2 关于该对象901
42.5.3 属性901
42.5.4 方法902
42.6 RegExp对象903
42.6.1 语法903
42.6.2 关于该对象903
42.6.3 属性904
第43章 数据输入验证906
43.1 实时验证与批处理验证906
43.1.1 实时验证触发器906
43.1.2 批处理(模式)验证907
43.2 设计筛选器908
43.3 构建筛选器函数库908
43.3.1 isEmpty()908
43.3.2 isPosInteger()909
43.3.3 isInteger()909
43.3.4 isNumber()909
43.3.5 自定义验证函数909
43.4 复合验证函数910
43.5 日期和时间验证911
43.6 工业级强度的验证方案913
43.6.1 结构913
43.6.2 调度机制914
43.6.3 验证示例915
43.6.4 最后的检查921
43.6.5 检验922
43.7 设计数据验证922
第44章 脚本化Javaapplet和插件923
44.1 NPAPI概述923
44.2 为什么要控制Javaapplet924
44.3 关于Java924
44.3.1 Java基础类924
44.3.2 Java方法924
44.3.3 Javaapplet“属性”926
44.3.4 访问Java字段926
44.4 脚本化applet实练926
44.4.1 了解可脚本化方法926
44.4.2 applet的局限性928
44.4.3 匿名applet929
44.4.4 数据类型转换931
44.5 applet与脚本间的交互/通信931
44.5.1 applet需要什么931
44.5.2 HTML需要什么932
44.5.3 关于JSObject类932
44.5.4 数据类型转换933
44.5.5 applet到脚本的应用程序示例933
44.6 插件的脚本化935
44.6.1 HTML端935
44.6.2 API方法936
44.6.3 构建点唱机938
44.6.4 嵌入多个声音939
44.7 直接脚本化Java类941
第45章 脚本调试943
45.1 语法错误与运行时错误943
45.2 错误消息通知943
45.2.1 MozillaConsole窗口944
45.2.2 Safari错误944
45.2.3 多重错误消息944
45.3 详细错误消息945
45.3.1 错误文件名945
45.3.2 错误定位945
45.3.3 错误消息文本946
45.4 Mozilla控制台中的警告949
45.5 问题嗅探949
45.5.1 检查HTML标签949
45.5.2 阅读源代码949
45.5.3 时序问题950
45.5.4 重新打开文档950
45.5.5 找出什么能正常工作950
45.5.6 注释语句951
45.5.7 检查运行时表达式赋值951
45.6 调试工具951
45.6.1 WinIE脚本调试器951
45.6.2 Mazilla的Venkman调试器952
45.6.3 Firefox的FireBug调试器952
45.6.4 Safari的Drosera调试器952
45.6.5 使用可嵌入的Evaluator952
45.6.6 直接赋值953
45.7 一个简单的跟踪工具954
45.7.1 trace()函数954
45.7.2 为trace.js准备文档954
45.7.3 调用trace()955
45.8 浏览器缓存955
45.9 问题预防956
45.9.1 结构正确956
45.9.2 逐步构建956
45.9.3 测试表达式求值956
45.9.4 创建函数工作台956
45.1 0检测作品956
第46章 安全和NetScape签名脚本958
46.1 未雨绸缪958
46.2 当出现冲突时959
46.3 Java沙箱959
46.4 安全策略959
46.5 同源策略960
46.5.1 设置document.domain960
46.5.2 源检查960
46.6 Netscape签名脚本策略961
46.6.1 签名对象和脚本962
46.6.2 从签名脚本能获得什么962
46.7 数字证书962
46.7.1 如何获得证书962
46.7.2 激活codebase原则963
46.8 脚本签名963
46.8.1 签名工具963
46.8.2 准备好为脚本签名964
46.8.3 访问签名脚本964
46.8.4 编辑和移动签名脚本964
46.9 访问受保护的属性和方法964
46.9.1 获得权限964
46.9.2 指定目标965
46.10 脚本中加入权限966
46.10.1 保持小窗口966
46.10.2 考虑用户966
46.11 示例966
46.11.1 访问私有浏览器信息966
46.11.2 访问受保护的窗口属性967
46.12 处理权限管理器错误967
46.13 签名脚本其他相关事宜968
46.13.1 导出和导入签名脚本968
46.13.2 锁定签名页面968
46.13.3 国际字符968
第47章 跨浏览器动态HTML问题969
47.1 什么是DHTML969
47.2 力争兼容性970
47.3 处理不兼容性971
47.3.1 老式兼容技巧971
47.3.2 现代方法实现兼容性973
47.3.3 处理非DHTML浏览器975
47.4 DHTMLAPI示例975
第48章 InternetExplorer的行为977
48.1 脚本样式表977
48.2 嵌入行为组件978
48.2.1 链入行为组件978
48.2.2 启用和禁用行为978
48.3 组件结构978
48.3.1 脚本语句978
48.3.2 变量的作用域979
48.3.3 指派事件处理器979
48.3.4 导出属性和方法979
48.4 行为示例979
48.4.1 示例1：元素拖动行为980
48.4.2 示例2：文本的鼠标划过行为981
48.5 参考资料983
第49章 应用程序：表格和日历984
49.1 关于日历984
49.2 静态表格985
49.3 动态表格986
49.4 混用988
49.5 动态HTML表格988
49.6 深层思考991
第50章 应用程序：查找表992
50.1 无服务器数据库992
50.2 数据库992
50.3 实现计划993
50.4 代码993
50.5 深层思考998
第51章 应用程序：较小的订单999
51.1 确定任务999
51.2 设计表单1000
51.3 表单HTML和脚本1000
51.3.1 全局调整1000
51.3.2 数学计算1001
51.3.3 “炮制”HTML1002
51.3.4 丢掉冗长1002
51.3.5 取回冗长1002
51.4 深层思考1003
第52章 应用程序：分级式目录1004
52.1 实现计划1004
52.2 代码1005
52.2.1 设置框架1005
52.2.2 分级结构代码1005
52.2.3 装配分级目录1007
52.3 Ajax(XML)分级结构1008
52.3.1 XML规范的生成1008
52.3.2 OPML分级属性1009
52.3.3 XML和HTML代码1009
52.3.4 设置脚本状态1010
52.3.5 堆积HTML1011
52.3.6 开关节点展开1013
52.3.7 结束1014
52.4 深层思考1014
第53章 应用程序：计算和绘图1015
53.1 计算1015
53.2 用户界面构思1015
53.3 代码1016
53.3.1 基本数组1016
53.3.2 计算和格式化1017
53.3.3 预加载图片1017
53.3.4 任意更换图片1018
53.3.5 创建select对象1018
53.3.6 绘制初始图片1019
53.4 深层思考1020
第54章 应用程序：智能Updated标志位1021
54.1 Cookie之谜1021
54.2 时间不在你这一边1022
54.3 应用程序1022
54.4 代码1023
54.4.1 设置状态1024
54.4.2 日期比较1025
54.4.3 实时body1025
54.5 深层思考1026
第55章 应用程序：DecisionHelper1027
55.1 应用程序1027
55.2 设计1027
55.3 文件1028
55.4 代码1028
55.4.1 index.htm1029
55.4.2 dhNav.htm1032
55.4.3 dh1.htm1033
55.4.4 dh2.htm1034
55.4.5 dh3.htm1035
55.4.6 dh4.htm1037
55.4.7 dh5.htm1038
55.4.8 dhHelp.htm1040
55.5 深层思考1041
第56章 应用程序：跨浏览器DHTML拼图游戏1042
56.1 拼图设计1042
56.2 实现细节1043
56.2.1 自定义API1043
56.2.2 主程序1043
56.3 本课要点1050
第57章 转换XML数据1051
57.1 应用程序概述1051
57.2 实施计划1052
57.3 代码1053
57.3.1 样式表1053
57.3.2 初始化序列1053
57.3.3 转换数据1054
57.3.4 JavaScript数据库排序1055
57.3.5 构建表格1058
57.3.6 选择控件1059
57.4 构想其他视图1060
第58章 应用程序：创建自定义google地图1061
58.1 GoogleMaps入门1061
58.2 GoogleMaps定制基础1063
58.2.1 获得自己的API密钥1063
58.2.2 GoogleMapsAPI内部1063
58.2.3 获得地点的地理坐标1064
58.3 设计GoogleMaps应用1065
58.4 开发自定义地图文档1065
58.5 整合自定义GoogleMap1066
58.5.1 显示自定义地图1066
58.5.2 自定义信息窗口样式设计1068
58.5.3 测试成品地图1069
58.6 深层思考1069
……