《征服RIA 基于JavaScript的Web客户端开发》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:涂传滨,杨先亭著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121081378
  • 页数:503 页
图书介绍:本书旨在向读者们推介以JavaScript为核心的RIA开发。全书共分为5篇:JavaScript基础篇:介绍JavaScript的语法和基础应用。如果不打算深究JavaScript幕后机制的话,运用本篇的知识便能胜任一般的JavaScript开发了。JavaScript高级篇:揭示JavaScript的运行机理和高级应用,如面向对象编程、函数式编程和元编程。Ajax篇:Ajax是上帝赐予JavaScript的礼物。凭借着Ajax,JavaScript拥有了异步调度服务端业务逻辑的能力。本篇除介绍Ajax原理和通用框架之外,还分别为从事Java和.NET开发的程序员安排了适合他们的DWR、Atlas框架。Ext篇:能否提供复杂用户界面,是RIA的一个重要判定标准。在本书中,笔者把这一重任交给了Ext。希望读者们能够基于Ext开发出不输给桌面程序的Web应用。增值篇:增值篇是本书的华彩乐章。在这一篇中,读者们将看到JavaScript如何游刃有余地整合各种技术流派,包括Flash、Applet、Silverlight、ActiveX等,如何开发反向Ajax程序、Comet程序和具备离线能

第一部分 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