《JavaScript经典实例》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)鲍尔斯编著;李强译
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2011
  • ISBN:9787512320581
  • 页数:512 页
图书介绍:本书讲述如何利用最新的网络功能,包括HTML5的持久存储机制和绘图优势,能够帮助读者开发具有可靠性的应用程序,兼容各种浏览器。更新了ECMAScript 5和覆盖范围包括HTML 5,解释如何让JavaScript允许开发人员接触到页面和样式的核心,演示如何正则表达式可以简化关键字,储存在浏览器应用程序的信息,演示如何使用共同的JavaScript库,包括jQuery和Prototype,适用于XML和JSON的应用。

前言 1

第1章 使用JavaScript字符串 11

1.0简介 11

1.1连接两个或多个字符串 13

1.2连接字符串和另一种数据类型 14

1.3条件比较字符串 15

1.4在字符串中查找子字符串 18

1.5从一个字符串提取子字符串 20

1.6检查一个存在的、非空的字符串 21

1.7将一个关键字字符串分解为单独的关键字 23

1.8插入特殊字符 25

1.9处理textarea的单个行 27

1.10去除字符串末尾的空白 28

1.11左补充或右补充一个字符串 29

第2章 使用正则表达式 32

2.0简介 32

2.1测试一个子字符串是否存在 36

2.2测试不区分大小写的子字符串匹配 37

2.3验证社会安全号码 38

2.4找到并突出显示一个模式的所有实例 39

2.5使用新字符串替换模式 43

2.6使用捕获圆括号交换一个字符串中的单词 43

2.7使用正则表达式来去除空白 47

2.8使用命名实体来替代HTML标签 48

2.9搜索特殊字符 48

第3章 日期、时间和定时器 51

3.0简介 51

3.1打印出今天的日期 53

3.2打印出UTC日期和时间 54

3.3打印出一个ISO 8601格式日期 55

3.4把一个ISO 8601格式的日期转换为Date对象可接受的一种格式 57

3.5创建一个特定的日期 60

3.6规划未来的一个日期 60

3.7记录流逝的时间 61

3.8创建一个延迟 62

3.9创建重复性定时器 63

3.10使用带有定时器的函数闭包 64

第4章 使用Number和Math 67

4.0简介 67

4.1保持一个递增的计数 69

4.2把十进制数转换为一个十六进制值 71

4.3创建一个随机数生成器 72

4.4随机产生颜色 72

4.5把表中的字符串转换为数字 74

4.6把表中一列的所有数字加和 74

4.7在角度和弧度之间转换 77

4.8找到页面元素可容纳的一个圆的半径和圆心 77

4.9计算圆弧的长度 80

第5章 使用数组和循环 81

5.0简介 81

5.1循环遍历数组 83

5.2创建多维数组 84

5.3从数组创建一个字符串 85

5.4排序数组 86

5.5按顺序存储和访问值 87

5.6以相反的顺序存储和访问值 88

5.7创建一个新数组作为已有数组的子集 89

5.8在数组中搜索 91

5.9将一个多维数组扁平化 92

5.10搜索和删除或替换数组元素 93

5.11对每个数组元素应用一个函数 94

5.12对数组中的每个元素执行一个函数并返回一个新数组 96

5.13创建一个过滤后的数组 97

5.14验证数组内容 98

5.15使用一个关联数组来存储表单元素名和值 101

第6章 使用JavaScript函数构建重用性 105

6.0简介 105

6.1创建一段可重用的代码 106

6.2把单个数据值传递到函数 107

6.3把复杂的数据对象传递给函数 108

6.4创建一个动态运行时函数 110

6.5把一个函数当做参数传递给另一个函数 112

6.6实现递归算法 113

6.7创建能够记住其状态的函数 115

6.8使用一个通用的科里化函数提高应用程序性能 118

6.9使用缓存计算(Memoization )来提高应用程序性能 120

6.10使用匿名函数包装全局变量 123

第7章 处理事件 126

7.0简介 126

7.1检测页面何时完成载入 129

7.2使用Event对象捕获鼠标点击事件的位置 130

7.3创建一个通用的、可重用的事件处理函数 133

7.4根据修改的条件来取消一个事件 136

7.5阻止事件在一组嵌套元素中传播 137

7.6捕获键盘活动 140

7.7使用新的HTML 5拖放 143

7.8使用Safari方向事件和其他移动开发环境 151

第8章 浏览器模块 153

8.0简介 153

8.1请求Web页面访问者确认一项操作 154

8.2创建一个新的、下拉式的浏览器窗口 155

8.3找到关于浏览器的访问页面 155

8.4警告Web页面访问者将要离开页面 157

8.5根据颜色支持更改样式表 158

8.6根据页面大小修改图像尺寸 159

8.7在CMS模板页面中创建面包屑路径 161

8.8将一个动态页面加入书签 164

8.9针对后退按钮、页面刷新来保持状态 167

第9章 表单元素和验证 169

9.0简介 169

9.1访问表单文本输入值 169

9.2动态关闭或打开表单元素 171

9.3根据一个事件从表单元素获取信息 171

9.4当点击单选按钮的时候执行一个动作 174

9.5检查一个有效的电话号码 177

9.6取消表单提交 178

9.7阻止重复表单提交 179

9.8隐藏和显示表单元素 181

9.9根据其他表单选择修改一个选项列表 184

第10章 调试和错误处理 187

10.0简介 187

10.1优雅地处理无JavaScript支持的情况 187

10.2检查函数中的错误 190

10.3对于简单调试使用一条警告 191

10.4捕获一个错误并提供优雅的错误处理 192

10.5初始化可管理的错误 194

10.6使用Firefox的Firebug 195

10.7使用Firebug设置一个断点并查看数据 199

10.8Firefox和Console 200

10.9使用IE的内建调试器 204

10.10使用IE Developer Tools设置一个断点 207

10.11Opera的Dragonfly 209

10.12使用Dragonfly设置一个断点 211

10.13打开Safari的开发工具 212

10.14使用Safari调试器设置断点 217

10.15Chrome中的调试 219

第11章 访问页面元素 221

11.0简介 221

11.1访问一个给定的元素并找到其父元素和子元素 225

11.2访问Web页面中所有的图像 226

11.3在一篇文章中找出所有的图像 232

11.4使用Selectors API找出文章中的所有图像 233

11.5找出一组元素的父元素 236

11.6突出显示每个元素中的第一个段落 237

11.7对无序列表应用条纹主题 240

11.8创建一个给定类的所有元素的一个数组 242

11.9找出共享同一属性的所有元素 242

11.10找出所有选中的选项 244

11.11把一个表行中所有值加和 245

11.12获取元素属性 247

11.13获取一个元素的样式信息 249

第12章 创建和删除元素和属性 252

12.0简介 252

12.1使用innerHTML:一种添加内容的快速而容易的方法 252

12.2在已有页面元素前插入元素 253

12.3在页面的末尾附加一个新元素 257

12.4触发IE的旧版来样式化新元素 258

12.5插入一个新的段落 258

12.6给新的段落添加文本 259

12.7向一个已有元素添加属性 262

12.8测试一个布尔值 263

12.9删除一个属性 264

12.10移动一个段落 265

12.11使用脚注项目符号替代链接 265

12.12向已有的表添加行 269

12.13从一个div元素删除一个段落 271

12.14从HTML表格删除行 273

12.15修改元素的CSS样式属性 275

第13章 使用Web页面空间 279

13.0简介 279

13.1确定Web页面的区域 280

13.2度量元素 282

13.3在页面中定位元素 283

13.4隐藏页面区段 286

13.5创建可折叠的表单区段 287

13.6添加一个页面覆盖 291

13.7创建标签页 294

13.8创建基于悬停的弹出信息窗口 299

13.9折叠边栏或调整其大小 302

第14章 使用JavaScript、 CSS和ARIA创建交互式和可访问性效果 306

14.0简介 306

14.1显示隐藏的页面区段 308

14.2创建警告消息 309

14.3突出显示遗漏数据或数据不正确的表单字段 311

14.4给页面覆盖添加键盘可访问性 317

14.5创建可折叠的表单区段 321

14.6显示一个带颜色的闪烁以表示一个动作 325

14.7给标签页应用程序添加ARIA属性 329

14.8动态区域 332

第15章 创建富媒体和交互应用程序 334

15.0简介 334

15.1在画布中创建基本的图形(使用canvas元素) 335

15.2在Internet Explorer中实现画布应用程序 338

15.3在画布中创建一个动态的线条图表 339

15.4向一个SVG文件添加JavaScript 342

15.5从Web页面脚本访问SVG 344

15.6在Internet Explorer中模拟SVG 347

15.7为嵌入到HTML中的SVG增加交互性 348

15.8使用Math函数在SVG中创建一个实际的、走动的模拟时钟 354

15.9在HTML中加入SVG和画布元素 357

15.10在Firefox和WebKit/Safari中调试WebGL支持 359

15.11当一个音频文件开始播放的时候运行一个例程 360

15.12用JavaScript和video元素控制视频 362

第16章 JavaScript对象 367

16.0简介 367

16.1定义一个基本的JavaScript对象 368

16.2保持对象成员私有 369

16.3用原型扩展对象 370

16.4给对象添加Getter/Setter 373

16.5继承一个对象的功能 374

16.6通过定义一个新的属性来扩展对象 377

16.7枚举一个对象的属性 383

16.8阻止对象可扩展性 386

16.9阻止对象添加和修改属性描述符 387

16.10阻止对对象的任何修改 388

16.11一次性对象和为你的JavaScript提供命名空间 390

16.12用Prototype.bind再次发现“this” 392

16.13将对象方法链化 394

第17章 JavaScript库 397

17.0简介 397

17.1包装你的代码 398

17.2使用JsUnit测试代码 400

17.3简化你的库 404

17.4寄存库 405

17.5使用一个外部库:构建于jQuery框架之上 408

17.6使用已有的jQuery插件 411

17.7把库转换为一个jQuery插件 412

17.8安全地把几个库组合到你的应用程序中 416

第18章 通信 420

18.0简介 420

18.1访问XMLHttpRequest对象 421

18.2为传输准备数据 423

18.3确定查询调用的类型 424

18.4为Ajax请求添加一个回调函数 427

18.5检查一个错误条件 429

18.6处理一个文本结果 429

18.7(使用JSONP )对另一个域进行Ajax请求 430

18.8从服务器填充一个选项列表 432

18.9使用定时器以新数据自动更新页面 434

18.10使用PostMessage跨窗口通信 438

第19章 使用结构化数据 442

19.0简介 442

19.1处理从Ajax调用返回的一个XML文档 443

19.2从一个XML树提取相关信息 444

19.3使用JSON产生一个JavaScript对象 449

19.4解析一个JSON格式化字符串 451

19.5使用JSON把一个对象转换为过滤的/转换的字符串 452

19.6把hCalendar微格式注释转换为一个画布时间表 454

19.7清除页面RDFa并且使用rdfQuery和jQuery RDF插件将其转换为JSON 457

第20章 持久化 463

20.0简介 463

20.1给URL附加持久性信息 464

20.2创建一个Cookie来跨页面持久化信息 468

20.3使用History.pushState方法和window.onpopevent来持久化信息 471

20.4针对客户端存储使用sessionStorage 475

20.5创建一个localStorage客户端数据存储项 482

20.6使用关系数据存储来持久化数据 485

第21章 JavaScript创新用法 487

21.0简介 487

21.1创建一个浏览器插件或扩展 488

21.2创建桌面和移动挂件 493

21.3使用PhoneGap为iPhone、 Android和BlackBerry开发JavaScript应用程序 498

21.4使用JavaScript扩展工具 500

21.5使用Web Workers和File API创建高效的桌面应用程序 504