第一部分 JavaScript基础篇 2
第1章 JavaScript基础 2
1.1 JavaScript概述 2
1.1.1 JavaScript的特点 2
1.1.2 JavaScript的局限性 3
1.2 从网页中引用JavaScript 5
1.2.1 定义脚本语言的类型 5
1.2.2 调用外部脚本文件 6
1.3 创建JavaScript文件 7
1.4 JavaScript注释 9
第2章 JavaScript语法 11
2.1 JavaScript变量 11
2.1.1 在脚本中定义变量 11
2.1.2 变量类型 13
2.1.3 数据类型之间的转换 13
2.1.4 存取变量 14
2.2 JavaScript函数 15
2.2.1 定义函数 15
2.2.2 输入参数 16
2.2.3 函数输出值 18
2.3 JavaScript运算符 18
2.3.1 概述 19
2.3.2 算术运算符 19
2.3.3 赋值运算符 21
2.3.4 比较运算符 22
2.3.5 逻辑运算符 23
2.3.6 位运算符 23
2.3.7 运算顺序 24
2.4 条件与循环语句 25
2.4.1 条件语句的定义 25
2.4.2 条件语句 26
2.4.3 循环语句的定义 28
2.4.4 循环语句 29
第3章 事件与对象 32
3.1 事件句柄 32
3.1.1 事件句柄的定义 32
3.1.2 常用事件句柄 33
3.1.3 其他事件 36
3.1.4 动态添加事件响应 42
3.2 JavaScript对象 43
3.2.1 什么是对象 43
3.2.2 创建对象 44
3.2.3 JavaScript内置的浏览器对象 45
3.2.4 对象方法劫持 46
第4章 常用对象 49
4.1 JavaScript数组 49
4.1.1 数组的含义 49
4.1.2 定义和操作数组 50
4.1.3 Array对象的属性 51
4.1.4 Array对象的方法 52
4.1.5 关联数组 60
4.1.6 数组应用举例——记忆脚本动作 60
4.2 数学和日期对象 63
4.2.1 数学对象 63
4.2.2 数学对象的属性 63
4.2.3 数学对象的方法 65
4.2.4 日期对象 68
4.3 字符串 75
4.3.1 字符串对象简介 75
4.3.2 字符串对象的属性 75
4.3.3 字符串对象的方法 77
4.3.4 正则表达式 86
第5章 JavaScript与浏览器 91
5.1 document对象 91
5.1.1 document对象简介 91
5.1.2 document对象的属性 92
5.1.3 document对象的方法 102
5.1.4 访问本地文件系统 103
5.2 window对象 105
5.2.1 window对象简介 105
5.2.2 window对象的属性 106
5.2.3 window对象的方法 112
5.3 JavaScript与表单 121
5.3.1 表单存取 121
5.3.2 表单元素的属性 122
5.3.3 表单元素的方法 125
5.3.4 表单的提交 126
5.4 JavaScript与框架 128
5.4.1 框架简介 128
5.4.2 框架的选项 131
5.4.3 定位框架 132
5.4.4 操作框架 133
第二部分 JavaScript高级篇第6章 JavaScript面向对象编程 136
6.1 对象的多态性 136
6.1.1 自定义对象的多态性 137
6.1.2 内置对象的多态性 137
6.2 对象的创建 138
6.2.1 使用内置对象 139
6.2.2 使用JSON符号 139
6.2.3 自定义对象构造 139
6.3 对象的继承 140
6.3.1 原型链继承 141
6.3.2 使用apply、call方法 141
6.3.3 对象实例间的继承 143
6.4 对象成员的可见性 143
第7章 JavaScript数据类型 146
7.1 数据类型 146
7.1.1 Number 147
7.1.2 String 147
7.1.3 Boolean 148
7.1.4 Undefined 148
7.1.5 null 148
7.1.6 复合类型 149
7.2 数据类型转换 149
7.2.1 转换为Number 149
7.2.2 转换为String 150
7.2.3 转换为Boolean 150
7.3 数据的传递 151
7.3.1 值传递 151
7.3.2 引用传递 152
第8章 JavaScript函数对象 153
8.1 JavaScript Function对象 153
8.1.1 Function对象的属性和方法 153
8.1.2 定义Function 156
8.2 闭包 157
8.2.1 闭包的应用 157
8.2.2 避免闭包引发的问题 158
8.3 函数式编程 160
8.3.1 函数式编程的思想 160
8.3.2 函数式编程的原理 160
8.3.3 函数式编程的应用 161
8.4 元编程 163
8.4.1 元编程的思想 163
8.4.2 元编程的应用 163
第9章 JavaScript运行机制 165
9.1 作用域链(Scope Chian) 165
9.1.1 从var说起 165
9.1.2 Scope Chain是什么 167
9.2 原型链(Prototype Chain) 168
9.3 两个隐式对象 169
9.3.1 this 169
9.3.2 Global 170
第10章 JavaScript正则表达式 172
10.1 正则表达式基础 172
10.1.1 元字符 172
10.1.2 元字符操作优先级顺序 174
10.1.3 贪婪匹配与非贪婪匹配 175
10.1.4 分组 175
10.1.5 反向引用 176
10.2 RegExp和正则表达式对象 176
10.2.1 RegExp对象 176
10.2.2 正则表达式对象 178
10.3 NFA和DFA正则表达式引擎 179
第三部分 Ajax篇 182
第11章 Ajax概述 182
11.1 Ajax的由来 182
11.2 传统的Web运用 183
11.3 Ajax的工作原理 184
11.4 Ajax的优点与缺陷 184
第12章 Ajax用到的技术 185
12.1 HTML与XHTML 185
12.1.1 HTML、XHTML与Ajax 185
12.1.2 HTML基础 186
12.1.3 XHTML基础 189
12.2 XML 191
12.3 JSON 192
12.3.1 JSON与Ajax 192
12.3.2 JSON基础 193
12.4 CSS 194
12.4.1 CSS与Ajax 194
12.4.2 使用CSS的方法 194
12.4.3 CSS语法 195
12.5 JavaScript 197
12.6 DOM与DHTML 197
12.6.1 DOM、DHTML与Ajax 197
12.6.2 操作HTML、XHTML文档 198
12.6.3 操作XML文档 201
12.7 HTTP 203
12.8 XmlHttpRequest对象 205
12.8.1 XmlHttpRequest对象与Ajax 205
12.8.2 XmlHttpRequest对象简介 205
第13章 Ajax开发简略 207
13.1 如何使用Ajax 207
13.1.1 初始化对象 207
13.1.2 指定响应函数 208
13.1.3 发出HTTP请求 209
13.1.4 处理服务器返回的信息 210
13.2 字符乱码处理 211
13.2.1 字符集 212
13.2.2 字符编码 214
13.2.3 实例 215
13.3 prototype.js 217
13.3.1 通用性方法 217
13.3.2 Ajax对象 219
13.4 MooTools 221
第14章 适用于Java的Ajax框架—DWR 225
14.1 DWR简介 225
14.2 DWR的回调机制 226
14.3 DWR的异常机制 227
14.4 DWR内核 228
14.5 DWR的配置 229
14.5.1 Web.xml的配置 229
14.5.2 dwr.xml的配置 230
14.5.3 DWR的WebContext 234
14.6 DWR应用实例 235
14.7 利用DWR实现反向Ajax 243
第15章 适用于.NET的Ajax框架—Atlas 248
15.1 在Visual Studio 2005中手工开发Ajax应用 248
15.2 在Visual Studio 2005 中设置Atlas框架环境 252
15.3 Atlas例程 252
第四部分 Ext篇 258
第16章 Ext概述 258
16.1 组件模型 258
16.1.1 组件的创建 259
16.1.2 组件的渲染 260
16.1.3 组件的销毁 260
16.2 容器模型 261
16.3 布局模型 261
16.4 Ext核心 262
16.4.1 Ext 262
16.4.2 Observable 266
16.4.3 MixedCollection 269
16.4.4 总结 271
第17章 Ext数据操作 272
17.1 数据传输 272
17.2 数据处理 277
17.2.1 数据访问代理Ext.data.DataProxy 277
17.2.2 数据解析Ext.data.DataReader 278
17.3 数据模型 279
第18章 Ext组件 282
18.1 所有组件的始祖Ext.Component 282
18.1.1 Xtype 283
18.1.2 Ext的UI组件库 283
18.1.3 Ext.Component的主要属性 284
18.1.4 Ext.Component的主要方法 285
18.2 容器组件的始祖Ext.BoxComponent 288
18.2.1 Ext.Container 288
18.2.2 Ext.Panel 289
18.3 表格相关组件 292
18.3.1 GridPanel 292
18.3.2 TabPanel 295
18.4 菜单相关组件 302
18.4.1 TreePanel 302
18.4.2 ToolBar 304
18.4.3 Menu 305
18.5 表单相关组件 307
18.5.1 FormPanel 307
18.5.2 BasicForm 308
18.5.3 Field 310
18.5.4 FieldSet 311
18.6 窗口相关组件 311
18.6.1 Window 311
18.6.2 MessageBox 314
18.7 Ext组件小结 317
第19章 Ext布局 320
19.1 Ext.Element 320
19.2 Ext.EventManager 322
19.3 Ext.DomQuery 324
19.4 布局管理器 325
19.4.1 ContainerLayout 326
19.4.2 FitLayout 326
19.4.3 TableLayout 327
19.4.4 AnchorLayout 329
19.4.5 BorderLayout 330
19.4.6 ColumnLayout 332
19.4.7 Accordion 333
19.4.8 CardLayout 335
19.4.9 AbsoluteLayout 337
19.4.10 FormLayout 338
第五部分 增值篇 342
第20章 基于JavaScript的ASP开发 342
20.1 ASP简介 342
20.2 Request内置对象 343
20.3 Response内置对象 347
20.4 Cookie内置对象 348
20.5 Session内置对象 349
20.6 Application内置对象 351
20.7 Global.asa文件 352
20.8 Server内置对象 353
20.9 数据库操作 354
20.9.1 创建数据源 355
20.9.2 数据库连接对象 356
20.9.3 结果集对象 357
20.10 用Visual Basic开发ASP对象 361
第21章 用JavaScript操作Silverlight 365
21.1 Silverlight简介 365
21.2 Silverlight简单例程 366
21.3 用JavaScript创建Silverlight控件 369
第22章 Windows平台上的HTML组件与脚本宿主 373
22.1 HTC 373
22.1.1 HTC简介 373
22.1.2 简单的HTC 377
22.1.3 动态设置HTC属性 378
22.1.4 HTC事件 380
22.2 HTA 381
22.3 JSE 383
22.4 WSH与WSF 384
22.4.1 WSH 384
22.4.2 WSF 384
第23章 用JavaScript制作COM组件 387
23.1 COM组件简介 387
23.2 用JavaScript编写COM组件的步骤 388
23.3 用JavaScript编写COM组件的实例 389
第24章 用JavaScript操作ActiveX插件 392
24.1 ActiveX简介 392
24.2 在网页中静态嵌入ActiveX插件 393
24.2.1 IE窗口的最大化和最小化 395
24.2.2 大量数据的装载 395
24.3 在网页中动态创建ActiveX插件 397
24.3.1 HTML页面与Word之间交换数据 398
24.3.2 WebDAV客户端 399
24.4 ActiveX插件开发实例 401
24.4.1 开发ActiveX Control 401
24.4.2 开发ActiveForm 405
第25章 Java与JavaScript的互操作 409
25.1 Java Applet开发 409
25.1.1 Applet简介 409
25.1.2 为Applet签名 416
25.2 用JavaScript操作Applet 419
25.3 用Applet操作JavaScript 421
25.4 Java与JavaScript的结合 423
25.4.1 Java支持脚本语言的意义 423
25.4.2 Java对JavaScript的支持 423
25.4.3 测试脚本的工具 428
第26章 JavaScript与ActionScript的互操作 429
26.1 JavaScript控制Flash 429
26.1.1 通过Flash Player 429
26.1.2 通过ExternalInterface.addCallBack方法 431
26.2 Flash控制JavaScript 433
26.2.1 使用ExternalInterface.call方法 433
26.2.2 使用getURL 435
26.2.3 使用fscomrnand 435
26.3 XMLSocket与Java服务端通信 436
第27章 Comet(Server Push)模式 448
27.1 Comet模式的原理 448
27.2 Comet模式的客户端实现 449
27.2.1 域内Push 450
27.2.2 跨域Push 453
27.2.3 总结 453
27.3 Jetty服务器提供的Continuations API 453
第28章 基于Google Gears开发离线应用 456
28.1 Google Gears简介 456
28.2 未启用Google Gears之前的在线应用 457
28.3 启用Google Gears之后的离线应用 460
28.3.1 离线访问网页 461
28.3.2 离线存储数据 463
28.4 Google Gears的影响 469
第29章 用XSLT转换XML数据岛 470
29.1 XML简介 470
29.1.1 XML文档规则 470
29.1.2 DTD 472
29.1.3 XML Schema 473
29.1.4 验证XML文档的有效性 473
29.2 XSL简介 473
29.2.1 XSLT 474
29.2.2 XPath 474
29.2.3 XSL-FO 475
29.3 转换XML文档 475
29.4 转换XML数据岛 476
29.4.1 例程一 476
29.4.2 例程二 478
第30章 JavaScript开发工具箱 481
30.1 JavaScript单元测试工具JSUnit 481
30.2 JavaScript调试工具 484
30.2.1 Firebug 484
30.2.2 IEDevToolBar 486
30.2.3 HttpWatch 488
30.2.4 Venkman 490
30.3 正则表达式工具 493
附录A Gadgets开发概览 497