《精通JavaScript动态网页编程》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:王俊杰编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115155372
  • 页数:612 页
图书介绍:本书介绍了JavaScript知识体系及编程设计技巧。

第一篇 JavaScript基础 3

第1章 JavaScript简介 3

1.1 历史、版本与兼容性 3

1.1.1 JavaScript与ECMAScript 3

1.1.2 不同浏览器对JavaScript的支持 4

1.1.3 本书对读者知识结构的要求 4

1.2 JavaScript在HTML中的使用 5

1.2.1 在〈script〉〈/script〉中的使用 5

1.2.2 代码屏蔽 6

1.2.3 在单独文件中使用 7

1.2.4 作为属性值使用 8

1.3 JavaScript基本语法 8

1.3.1 执行顺序 8

1.3.2 大小写敏感 8

1.3.3 空白符与换行符 9

1.3.4 语句与分隔符 9

1.3.5 块 9

1.3.6 注释 10

1.4 JavaScript保留字 10

1.5 错误与调试 11

1.5.1 语法错误 11

1.5.2 逻辑错误 12

第2章 数据类型与变量 13

2.1 简单数据类型 13

2.1.1 数值型 13

2.1.2 字串型 16

2.1.3 Boolean 18

2.2 特殊数据类型 19

2.2.1 无定义数据类型(undefined) 19

2.2.2 空值(null) 19

2.3 变量 20

2.3.1 类型规则 20

2.3.2 声明变量 20

2.3.3 变量命名 20

2.3.4 作用范围 21

2.3.5 基本类型与合成类型 22

2.3.6 无用存储单元的收集 23

2.3.7 作为属性的变量 24

2.4 类型转换 24

2.4.1 转换规则 24

2.4.2 提升基本数据为对象 26

2.4.3 显式类型转换 26

2.5 使用值与使用引用 26

2.5.1 使用值操作数据 27

2.5.2 使用引用操作数据 27

2.5.3 原始类型与引用类型 27

2.5.4 举例 28

2.5.5 字符串的特殊性 29

第3章 运算符与表达式 31

3.1 表达式 31

3.2 算术运算符 32

3.2.1 加号(+)的特殊含义 32

3.2.2 减号(-)的特殊含义 34

3.3 赋值运算符 34

3.4 比较运算符 35

3.4.1 条件语句中使用=符号 35

3.4.2 比较运算符的自动转换 36

3.5 逻辑运算符 36

3.6 位运算符 37

3.6.1 普通位运算符 37

3.6.2 位移运算符 38

3.7 其他运算符 38

3.7.1 递增与递减运算符 38

3.7.2 算术运算符与位运算符的结合使用 39

3.7.3 ?:运算符 39

3.7.4 字符串比较 39

3.7.5 逗号(,)运算符 40

3.7.6 void运算符 40

3.7.7 typeof运算符 41

3.7.8 对象运算符 41

3.8 运算符优先级 42

第4章 基本的流程控制语句 45

4.1 条件判断语句:if语句 45

4.1.1 简单if语句 45

4.1.2 if...else语句 46

4.1.3 else if语句 47

4.1.4 if语句的嵌套 48

4.2 条件判断语句:switch语句 49

4.3 循环控制语句 50

4.3.1 while循环 50

4.3.2 do...while循环 51

4.3.3 for循环 52

4.3.4 循环控制:continue与break语句 54

第5章 函数 55

5.1 函数的定义与调用 55

5.1.1 定义函数 55

5.1.2 函数调用 56

5.2 全局变量与局部变量 58

5.3 参数变量可变的函数 59

5.4 创建动态函数 60

5.5 JavaScript的系统函数 60

5.5.1 URI编码处理函数 61

5.5.2 数值处理函数 62

5.5.3 字符串编码处理函数 63

5.6 Function构造函数与函数直接量 65

第6章 JavaScript对象与数组 67

6.1 JavaScript对象 67

6.1.1 对象的创建 67

6.1.2 对象的方法 69

6.1.3 原型对象和继承 69

6.1.4 面向对象的JavaScript 70

6.1.5 构造函数与this关键字 71

6.2 JavaScript中的数组 72

6.2.1 数组和数组元素 72

6.2.2 用对象的方式实现数组 75

6.2.3 Array对象及其属性与方法 77

6.2.4 作为关联数组的对象 79

6.3 JavaScript内部对象 80

6.3.1 Object对象 80

6.3.2 String对象 80

6.3.3 Date对象 84

6.3.4 toString方法 85

6.4 专门用于对象的语句 86

6.4.1 with语句 86

6.4.2 for...in语句 87

第7章 字符串与数值处理对象 89

7.1 字符串对象 89

7.1.1 字符串和数值数据类型 89

7.1.2 URL字符串编码和译码 91

7.2 数值处理对象 92

7.2.1 JavaScript中的数值 92

7.2.2 Math对象 94

7.2.3 Number对象 96

7.2.4 Boolean对象 98

第8章 正则表达式 99

8.1 正则表达式及其作用 99

8.2 元字符“?”与“()” 99

8.2.1 用?表示可选项 99

8.2.2 用()表示子匹配 100

8.3 RegExp对象 100

8.4 RegExp对象的属性 101

8.4.1 静态属性 101

8.4.2 实例属性 102

8.5 RegExp对象的方法 102

8.5.1 test方法 102

8.5.2 exec方法 103

8.5.3 compile方法 104

8.5.4 综合举例 104

8.6 String对象中的相关方法 105

8.6.1 match方法 105

8.6.2 search方法 106

8.6.3 replace方法 107

8.6.4 split方法 107

8.7 限定符与选择匹配符 108

8.7.1 用限定符指定连续出现的次数 108

8.7.2 贪婪匹配与非贪婪匹配 109

8.7.3 用选择匹配符进行匹配选择 109

8.8 分组组合与反向引用符 109

8.8.1 分组组合 109

8.8.2 反向引用 110

8.8.3 非捕获匹配 110

8.8.4 正向“预测先行”匹配 110

8.8.5 反向“预测先行”匹配 110

8.9 特殊字符与字符匹配符 111

8.9.1 特殊字符 111

8.9.2 字符匹配符 111

8.10 定位符与原义字符 113

8.10.1 用于文本验证的定位符 113

8.10.2 对特殊字符进行转义 116

8.11 实用举例 116

8.11.1 普通字符匹配 116

8.11.2 限制表单输入的内容 117

8.11.3 去除重复字符 117

8.11.4 从URL中提取文件名 117

8.11.5 匹配IP地址 118

第二篇 JavaScript核心技术 121

第9章 事件处理 121

9.1 事件与事件处理概述 121

9.1.1 事件与事件名称 121

9.1.2 事件应用 121

9.2 基本事件模型 122

9.2.1 XHTML中的事件绑定 122

9.2.2 使用JavaScript绑定事件处理器 127

9.2.3 事件处理器的作用域 128

9.2.4 事件处理器的返回值 129

9.2.5 手动触发事件 130

9.3 IE 4+事件模型 133

9.3.1 绑定处理器至对象 133

9.3.2 Event对象 134

9.3.3 事件流 135

9.4 DOM2事件模型 136

9.4.1 绑定处理器至对象 136

9.4.2 Event对象 137

9.4.3 鼠标事件 137

9.4.4 取消默认动作 139

9.4.5 创建事件 140

第10章 键盘和鼠标事件处理 143

10.1 鼠标事件处理 143

10.1.1 在Netscape浏览器中使用鼠标事件 143

10.1.2 在IE浏览器中使用鼠标事件 144

10.1.3 页面布局 145

10.1.4 处理MouseDown和MouseUp事件 145

10.1.5 确定用户在使用哪一种浏览器 145

10.2 页面预览 151

10.3 图像切换 154

10.4 接收键盘输入 155

10.4.1 使用keyPress事件 155

10.4.2 在Netscape浏览器中读取按键 156

10.4.3 在IE浏览器中读取按键 156

10.5 用鼠标点亮文本 158

10.6 鼠标跟随 161

10.6.1 图片跟随鼠标 162

10.6.2 文字跟随鼠标 164

10.6.3 星星跟随鼠标 166

10.7 鼠标感应 170

10.7.1 弹出警告框 170

10.7.2 渐显图片 171

10.8 禁用鼠标右键 172

第11章 对象模型 175

11.1 对象模型的概念 175

11.1.1 对象模型概述 175

11.1.2 初始对象模型 175

11.2 Document对象简介 177

11.2.1 Document对象的属性与方法 177

11.2.2 属性与方法的应用 178

11.2.3 文档元素的按位置访问 180

11.2.4 文档元素的按名称访问 181

11.2.5 事件控制器 181

11.3 组合应用 182

11.4 动态修改表单元素内容 183

第12章 文档对象模型(DOM) 187

12.1 DOM概述 187

12.1.1 DOM分层 187

12.1.2 Document树 187

12.2 访问元素 189

12.2.1 使用元素标识 189

12.2.2 DOM结点属性 190

12.2.3 相邻结点检测 192

12.2.4 文档树检测示例 192

12.3 结点 194

12.3.1 创建 194

12.3.2 插入和追加 195

12.3.3 结点复制 197

12.3.4 删除与替换 198

12.3.5 修改 199

12.4 属性 201

12.4.1 属性使用 201

12.4.2 DOM与HTML元素 202

12.4.3 DOM遍历API 205

12.4.4 DOM Range选择 206

12.5 与DHTML相对的DOM 207

12.5.1 innerHTML属性 208

12.5.2 其他类似属性 209

12.5.3 document.all[] 210

第13章 样式与定位 213

13.1 网页对象模型与网页元素对象 213

13.1.1 HTML对象模型方法 213

13.1.2 DHTML对象模型方法 214

13.1.3 W3C对象模型方法 217

13.2 动态网页样式 220

13.2.1 样式表简介 220

13.2.2 样式的语法规则 220

13.2.3 层叠式应用规则 221

13.2.4 改变元素对象的样式属性 221

13.2.5 改变网页样式表 222

13.3 网页对象动态定位 222

13.3.1 绝对位置与相对位置 223

13.3.2 用z-index设置网页元素顺序 224

13.3.3 坐标位置及尺寸 224

13.3.4 控制网页元素对象的显示与隐藏 225

13.4 构建跨浏览器DHTML库 225

第14章 Window对象 231

14.1 对话框(Dialog) 231

14.1.1 警告(Alert) 231

14.1.2 确认(Confirm) 232

14.1.3 举例 233

14.1.4 提示(Prompts) 234

14.2 窗口的打开与关闭 236

14.2.1 打开窗口 236

14.2.2 关闭窗口 237

14.2.3 窗口特征 238

14.2.4 窗口写入 240

14.2.5 DOM方法与窗口 242

14.3 控制窗口 244

14.3.1 移动窗口 244

14.3.2 改变窗口大小 245

14.3.3 窗口滚动 245

14.3.4 设置窗口定位 247

14.3.5 访问窗口历史 247

14.3.6 控制窗口状态栏 248

14.3.7 窗口时间与超时设定 249

14.4 窗口事件 250

14.4.1 通用窗口事件 251

14.4.2 扩展窗口事件 251

14.5 IE浏览器窗口扩展 252

14.5.1 模式窗口 252

14.5.2 无模式窗口 253

14.5.3 弹出窗口 253

14.5.4 举例 253

14.5.5 全屏窗口 255

第15章 Frame对象 257

15.1 特殊的窗口 257

15.1.1 使用框架 257

15.1.2 访问框架中的窗口 258

15.1.3 对框架赋值 260

15.2 内联框架 261

15.3 框架的嵌套应用 262

15.3.1 框架嵌套 262

15.3.2 noframes 263

15.3.3 命名框架 264

15.3.4 框架交叉通信 264

15.3.5 嵌套框架交叉通信 266

15.4 框架应用 268

15.4.1 装入框架 268

15.4.2 取消框架 269

15.4.3 框架组装 269

15.5 用框架进行状态管理 270

第16章 处理文档(Document) 273

16.1 早期文档处理 273

16.1.1 文档颜色 273

16.1.2 上次修改日期 276

16.1.3 定位与相关属性 277

16.2 基本Document方法 280

16.2.1 document.write()与document.writeln() 280

16.2.2 其他方法 282

16.3 使用Document访问传统HTML元素 283

16.3.1 锚与链接 283

16.3.2 表单聚集 285

16.3.3 表单元素聚集 285

16.3.4 图像聚集 286

16.4 DOM中的相关内容 289

16.4.1 DOM 1中的文档属性与聚集 289

16.4.2 HTMLElement的公用属性与方法 290

16.4.3 访问具体HTML元素属性 291

16.5 用DOM处理表格 294

16.5.1 HTML4中的表格 294

16.5.2 设置表格属性 297

16.5.3 操作表格元素 300

16.5.4 操作表元 302

16.6 DOM应用 305

16.6.1 改变〈div〉的内容 306

16.6.2 改变页面样式 306

第17章 表单和表单元素 309

17.1 表单基础 309

17.1.1 表单元素 309

17.1.2 访问表单 310

17.1.3 访问表单域 310

17.2 表单域 312

17.2.1 Input元素属性 312

17.2.2 按钮 312

17.2.3 图像按钮 314

17.2.4 无显著特征的按钮 314

17.2.5 文本域与文本区 315

17.2.6 复选框与单选按钮 320

17.2.7 文件上传域 322

17.3 表单验证 322

17.3.1 概述 322

17.3.2 编写验证表单 325

17.3.3 混合表单验证 327

17.3.4 通过隐藏域验证表单 331

17.3.5 onchange事件 331

17.3.6 按键屏蔽 332

17.4 表单可用性与JavaScript 333

17.4.1 起始焦点域 333

17.4.2 标签与域选择 333

17.4.3 状态信息 334

17.4.4 屏蔽域 334

17.5 动态表单 335

第18章 复选框和单选按钮 339

18.1 复选框 339

18.1.1 设计思路 339

18.1.2 完整代码 340

18.2 单选按钮 341

18.2.1 设计思路 341

18.2.2 完整代码 342

18.3 复选框与单选按钮的组合使用 344

18.3.1 设计思路 344

18.3.2 完整代码 347

18.4 使用elements[]数组 350

18.4.1 设计步骤 350

18.4.2 完整代码 351

18.5 选择控件 354

18.5.1 单项选择控件 354

18.5.2 多项选择控件 355

18.5.3 级联选择控件 358

第19章 设置菜单 361

19.1 下拉菜单 361

19.1.1 基本应用 361

19.1.2 改进 363

19.1.3 渐显效果 365

19.2 DHTML菜单 368

19.2.1 模拟系统菜单 368

19.2.2 远程控制菜单 370

19.2.3 滑动菜单 373

19.3 常见菜单样式举例 376

19.3.1 弹出式菜单 376

19.3.2 浮动菜单 378

19.3.3 树型导航式菜单 380

第20章 浏览器与性能检测 385

20.1 浏览器检测 385

20.1.1 用于浏览器的Navigator对象 385

20.1.2 检测初步 386

20.2 检测内容 387

20.2.1 JavaScript检测 387

20.2.2 JavaScript版本检测 389

20.2.3 JavaScript对象检测 389

20.2.4 Java检测 390

20.2.5 插件检测 390

20.2.6 语言检测 391

20.3 用于可视化检测的Screen对象 391

20.3.1 获取浏览器窗口大小 392

20.3.2 设置屏幕对象的尺寸 393

20.3.3 有选择地显示图片 394

20.4 高级检测技术:示例代码 395

20.5 浏览器控制:浏览器按键模拟 396

20.6 个性设置:指定主页 397

第21章 使用Cookie保存状态 399

21.1 Cookie概述 399

21.2 在JavaScript中使用Cookie 400

21.2.1 Cookie设置 400

21.2.2 Cookie读取 401

21.2.3 Cookie分析 401

21.2.4 删除Cookie 402

21.2.5 安全问题 403

21.3 管理用户状态 403

21.3.1 重定向 403

21.3.2 弹出窗口 404

21.3.3 用Cookie保存定制样式 404

21.4 IE浏览器状态扩展 406

第22章 图像处理 409

22.1 通过单击按钮来改变图像 409

22.2 彩色页面 410

22.2.1 使用Image对象 410

22.2.2 使用images[]数组 411

22.3 IE浏览器中的结构化图形控件 414

22.3.1 属性 414

22.3.2 方法 415

22.3.3 事件 415

22.3.4 设置画笔颜色 416

22.3.5 画矩形 416

22.3.6 画椭圆 417

22.3.7 画扇形 417

22.3.8 完整的实例代码 417

22.4 在Web页面中定位图像 418

22.5 在IE浏览器中拖动图像 419

22.5.1 MouseMove事件 420

22.5.2 取消系统拖动事件 420

22.6 通用翻转代码 421

22.7 应用举例 423

22.7.1 跟随屏幕移动的图片 423

22.7.2 图像滚动公告板 426

22.7.3 左右移动的图片 429

22.7.4 图片的渐隐渐显 430

22.7.5 不停闪烁的图片 433

22.7.6 图片倒映 434

第23章 动画 437

23.1 应用DHTML 437

23.1.1 简单过渡 437

23.1.2 目标翻转 441

23.1.3 普通动画 442

23.2 随机发生器 446

23.3 使用IE浏览器的DirectAnimation 447

23.3.1 PixelLibrary库和MeterLibrary库 448

23.3.2 使用画板 448

23.3.3 创建平移 449

23.3.4 创建旋转 450

23.3.5 完整代码 451

23.4 Sequencer控件 453

23.4.1 事件与方法 453

23.4.2 创建动画 453

23.4.3 完整代码 454

23.5 Path控件 456

23.5.1 属性、方法与事件 456

23.5.2 创建动画 457

23.5.3 完整代码 458

23.6 应用实例 459

23.6.1 永远居中的背景图片 459

23.6.2 随机显示的背景图片 460

23.6.3 垂直滚动公告板 461

23.6.4 类似Flash的字幕效果 464

23.6.5 地震效果 465

第三篇 JavaScript高级技术 469

第24章 嵌入式对象 469

24.1 Java Applet 469

24.1.1 IE浏览器中的Java Applet 469

24.1.2 在HTML中引用Java Applet 469

24.1.3 archive属性 470

24.1.4 codebase属性 470

24.1.5 alt属性 470

24.1.6 name属性 470

24.1.7 在JavaScript中访问Java Applet 470

24.1.8 Java检测 471

24.2 插件技术 473

24.2.1 插件简介 473

24.2.2 使用插件 473

24.2.3 MIME类型 474

24.2.4 检测特殊插件 477

24.2.5 实现插件交互 478

24.3 ActiveX控件 481

24.3.1 在XHTML中的使用 481

24.3.2 使代码兼容多种浏览器 481

24.3.3 用ActiveX控件实现交互 482

第25章 远程JavaScript 485

25.1 单向通信 485

25.1.1 概述 485

25.1.2 创建Image对象 485

25.1.3 重定向 486

25.2 双向通信 487

25.2.1 Image对象的不同 487

25.2.2 线程 488

25.2.3 用Cookie替代Image 488

25.2.4 动态内容 489

25.2.5 服务端计算 491

25.2.6 回收 492

25.2.7 嵌入式框架(iframe)示例 493

25.3 XMLHTTP对象 494

25.3.1 属性与方法 495

25.3.2 创建与发送请求 495

25.3.3 POST 496

第26章 JavaScript与XML 497

26.1 XML概述 497

26.1.1 XML规范性 497

26.1.2 XML有效性 499

26.2 显示XML 500

26.2.1 使用XSLT将XML转换为HTML 500

26.2.2 使用CSS显示XML文档 504

26.2.3 XML与XHTML的结合 505

26.3 DOM与XML 507

26.3.1 Internet Explorer 507

26.3.2 Mozilla 510

26.4 IE XML数据岛 513

26.4.1 格式化输出 513

26.4.2 动态增删记录 514

26.5 一个RSS阅读器的例子 516

第27章 JavaScript的安全 521

27.1 同源策略 521

27.1.1 同源检测 521

27.1.2 嵌入式文档 522

27.1.3 外部脚本 522

27.1.4 例外 523

27.1.5 问题 523

27.2 结构化安全规则 524

27.2.1 Mozilla安全规则 524

27.2.2 Internet Explorer中的安全设置 525

27.2.3 ActiveX控件 527

27.3 浏览器使用JavaScript的安全问题 527

27.3.1 轰炸 527

27.3.2 欺骗 528

27.4 跨站点脚本 529

27.4.1 潜在的威胁 529

27.4.2 预防 530

第四篇 JavaScript典型应用 533

第28章 常用特效设计 533

28.1 日期时间设计 533

28.1.1 显示当前时间 533

28.1.2 显示当前日期和星期 535

28.1.3 同时显示日期、时间和星期 536

28.1.4 分时段问候 537

28.1.5 以数字图片来显示时间 539

28.1.6 显示世界不同地区的当前时间 542

28.1.7 总是悬浮的时钟 546

28.2 计算器设计 549

28.2.1 简单的加减乘除运算 549

28.2.2 能进行四则混合运算的计算器 552

28.3 文字效果设计 554

28.4 随机显示的图片 557

28.4.1 随页面刷新更换页面背景 557

28.4.2 随页面刷新显示不同图片 558

第29章 综合应用举例 561

29.1 递归 561

29.1.1 原理 561

29.1.2 汉诺塔问题求解 562

29.2 页面广告代码设计 565

29.2.1 位置固定的对联广告 565

29.2.2 随页面滚动的对联广告 567

29.2.3 循环滚动的多幅广告 571

29.3 与Ajax结合实现级联选择 575

29.3.1 JavaScript的实现 575

29.3.2 用Ajax的实现 579

第30章 与ASP的结合开发留言板 587

30.1 结构与功能实现 587

30.1.1 控制留言长度 587

30.1.2 控制留言字体 588

30.2 数据库设计 589

30.2.1 设置管理信息表 589

30.2.2 设置留言信息表 589

30.2.3 连接数据库 590

30.3 后台管理 590

30.3.1 管理员登录 590

30.3.2 管理员管理 592

30.3.3 基本设置管理 595

30.4 填写留言 597

30.4.1 用户信息输入 599

30.4.2 控制留言长度 600

30.4.3 留言内容过滤 602

30.4.4 控制文本属性 602

30.5 显示留言 605

30.5.1 页面控制 605

30.5.2 显示用户信息 606

30.5.3 显示留言内容 607

30.6 留言管理 609

30.6.1 修改与回复 609

30.6.2 删除留言 611

30.6.3 显示用户IP 611

30.7 程序运行 612