《JavaScript经典实例》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:鲍尔斯著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2015
  • ISBN:9787512381889
  • 页数:567 页
图书介绍:本书主要包括以下内容:数组、函数和JavaScript对象。访问用户界面。测试和可访问性。创建和使用JavaScript库。用Ajax进行客户端-服务器通信。富媒体、交互式的Web效果。新的ECMAScript标准对象。在服务器上使用Node。JavaScript的模块化和管理。复杂的JavaScript框架。高级客户端-服务器通信。可视化和客户端-服务器通信。移动应用开发。

javascript的世界 1

第一部分 经典javasc ript 13

第1章 javascript不只是简单的构件块 13

1.1 javascript对象、基本类型和字面值之间的区别 13

1.2 从字符串提取一个列表 17

1.3 检查一个存在的、非空的字符串 19

1.4 插入特殊字符 24

1.5 使用新字符串替换模式 26

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

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

1.8 使用命名实体来替代html标签 34

1.9 把一个iso 8601格式的日期转换为date对象可接受的一种格式 34

1.10 使用带有定时器的函数闭包 37

1.11 记录消耗时间 40

1.12 把十进制数转换为一个十六进制值 40

1.13 把表中一列的所有数字加和 42

1.14 在角度和弧度之间转换 45

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

1.16 计算圆弧的长度 47

1.17 使用es6字符串新增方法而不会丢弃用户 48

第2章 javascript数组 51

2.1 在数组中搜索 51

2.2 用concat()和apply()将一个两维数组扁平化 53

2.3 删除或替换数组元素 54

2.4 提取一个数组的一部分 55

2.5 对每个数组元素应用一个函数 56

2.6 使用foreach()and call()遍历queryselectorall()的结果 58

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

2.8 创建一个过滤后的数组 59

2.9 验证数组内容 60

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

2.11 使用解构赋值简化代码 65

第3章 函数:javascript的构建块 68

3.1 放置函数并提升 68

3.2 把一个函数当做参数传递给另一个函数 70

3.3 实现递归算法 72

3.4 使用一个定时器和回调防止代码阻塞 75

3.5 创建能够记住其状态的函数 78

3.6 把函数参数转换到一个数组中 81

3.7 使用一个局部应用减少冗余性 83

3.8 使用缓存计算(memoization)来提高应用程序性能 86

3.9 使用匿名函数包装全局变量 88

3.10 提供一个默认的参数 89

第4章 可扩展的javascript对象 91

4.1 保持对象成员私有 92

4.2 用原型扩展对象 93

4.3 继承一个对象的功能 96

4.4 通过定义一个新的属性来扩展对象 98

4.5 阻止对象可扩展性 100

4.6 阻止对对象的任何修改 101

4.7 为你的javascript对象提供命名空间 103

4.8 用prototype.bind再次发现“this” 106

4.9 将对象方法链化 109

第5章 javascript和直接访问用户界面 111

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

5.2 访问web页面中所有的图像 114

5.3 使用selectors api找出文章中的所有图像 119

5.4 设置元素的css样式属性 122

5.5 对无序列表应用条纹主题 125

5.6 找出共享同一属性的所有元素 126

5.7 插入一个新的段落 128

5.8 给新的段落添加文本 129

5.9 从html表格删除行 130

5.10 添加一个页面覆盖 133

5.11 创建可折叠的表单区段 136

5.12 隐藏页面区段 139

5.13 创建基于悬停的弹出信息窗口 140

5.14 显示一个带颜色的闪烁以表示一个动作 142

第6章 基本测试和可访问性 145

6.1 使用jshint清理代码 145

6.2 使用qunit测试代码 147

6.3 在各种环境中测试应用程序 150

6.4 不同编码技术的性能测试 153

6.5 突出显示错误的可访问性 156

6.6 创建一个可访问性自动更新区域 162

第7章 创建和使用javascript库 165

7.1 找到完美的库 165

7.2 使用modernizr.load测试功能 166

7.3 超越math对象的能力 167

7.4 求出两个日期之间相差的天数 170

7.5 使用一个外部库:构建于jquery框架之上 171

7.6 使用一个jquery插件 173

7.7 使用mousetrap处理键盘快捷键 176

7.8 使用工具库underscore 179

7.9 打包你的代码 181

7.10 添加对私有数据成员的支持 183

7.11 简化你的库 186

7.12 寄存库 187

7.13 通过cdn服务代码 190

7.14 把库转换为一个jquery插件 191

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

第8章 简化的客户端-服务器通信和数据 196

8.1 处理从ajax调用返回的一个xml文档 196

8.2 从一个xml树提取相关信息 198

8.3 解析一个json格式化字符串 202

8.4 使用json把一个对象转换为过滤的/转换的字符串 204

8.5 (使用jsonp)对另一个域进行ajax请求 206

8.6 处理来自一个ajax请求的json 208

8.7 从服务器填充一个选项列表 210

8.8 使用定时器以新数据自动更新页面 214

第9章 创建富媒体和交互web效果 217

9.1 在画布中创建一个动态的线条图表 217

9.2 向一个svg文件添加javascript 222

9.3 从web页面脚本访问svg 226

9.4 在html中加入svg和画布元素 228

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

9.6 用javascript和video元素控制视频 232

9.7 通过画布为视频添加过滤效果 235

第二部分 javascript全面兴起 243

第10章 新的ecmascript标准对象 243

10.1 在浏览器应用程序中使用let 244

10.2 创建非重复值的一个集合 247

10.3 用唯一的不同的键创建唯一的键/值对 249

10.4 创建绝对唯一的对象属性键 252

10.5 使得遍历任务变简单 254

10.6 创建优雅地结束的函数 255

10.7 使用proxy实现即时对象行为修改 257

10.8 创建一个真正的类并扩展它(略微借助于traceur) 260

10.9 使用promise实现高效异步处理 263

第11章 node:服务器上的javascript 266

11.1 响应一个简单浏览器请求 266

11.2 提供格式化的数据 269

11.3 读取和写入文件数据 271

11.4 在node中使用let和其他的es6添加 275

11.5 使用repl交互式地尝试node代码段 277

11.6 从终端获取输入 279

11.7 使用node定时器并理解node事件循环 281

11.8 管理回调地狱 285

11.9 用一个node应用程序访问命令行功能 289

11.10 在同一端口上运行node和apache 292

11.11 保持一个node实例启动并运行 294

11.12 监控应用程序修改和重启 296

11.13 用request进行屏幕抓取 297

11.14 在commander的帮助下创建一个命令行工具 299

第12章 模块化和管理javascript 302

12.1 使用脚本加载器来加载脚本 303

12.2 以html5的方式异步加载脚本 306

12.3 将javascript转换为amd和requirejs 307

12.4 将requirejs和jquery或其他的库一起使用 310

12.5 加载和使用dojo模块 314

12.6 使用npm安装和维护node模块 315

12.7 通过npm搜索一个具体的node模块 317

12.8 将你的库转换为node模块 318

12.9 将自己的代码应用到所有环境中 320

12.10 创建一个可安装的node模块 324

12.11 使用bower打包和管理客户端依赖性 328

12.12 用browserify编译node.js模块以便在浏览器中使用 330

12.13 对你的node模块进行单元测试 332

12.14 用grunt运行任务 335

第13章 api的乐趣 340

13.1 通过一个restful api访问json格式的数据 340

13.2 使用restify创建一个restful api 344

13.3 在桌面浏览器中支持类似移动平台的通知 349

13.4 在浏览器中本地加载文件 352

13.5 使用web worker和file api创建一个mini的e-pub阅读器 354

13.6 探索google maps和其他的api 359

13.7 从一个node应用程序访问twitter api 366

第14章 javascript框架 373

14.1 使用express-generator生成一个express站点 374

14.2 将一个生成的express站点转换为一个基本的mvc app 381

14.3 选择一个spa框架:解构todomvc 395

14.4 使用oauth框架 406

14.5 用web组件扩展可能性 419

第15章 高级客户端一服务器通信和流 431

15.1 允许跨域请求 431

15.2 在ajax中实现一个put请求 434

15.3 通过ajax发送二进制数据并加载到图像中 437

15.4 跨域共享http cookies 439

15.5 在客户端和服务器之间建立双向通信 441

15.6 使用变换流上传和压缩文件 446

15.7 测试websockets应用程序的性能和功能 448

第16章 数据可视化和客户端/服务器图形 451

16.1 使用d3创建一个svg柱状图 452

16.2 用雷达图映射数据点变化 457

16.3 通过websocket形成一个滚动的时间线 460

16.4 产生所生成的web页面内容的屏幕截图(phantomjs) 464

16.5 将图形转换为文本(ocrad.js) 469

16.6 裁剪(或者叫做修改)上传的图像 472

第17章 数据和持久性 476

17.1 验证表单数据 476

17.2 使用html5持久化信息 482

17.3 针对客户端存储使用sessionstorage 485

17.4 创建一个localstorage客户端数据存储项 493

17.5 使用squeljs查询一个mysql数据库 496

17.6 使用indexeddb在客户端持久化较大的数据块 499

17.7 使用dropbox数据存储访问云中的数据 502

第18章 javascript迈上移动之路 512

18.1 创建一款可安装的、寄存的web app 512

18.2 为amazon appstore打包web app 518

18.3 使用cordova(phonegap)构建一款基本的android app 520

18.4 将where am i移植到android 527

18.5 创建一个geolocation firefox os app 535

18.6 将geolocation app移植到一个google chrome app 544

18.7 在kindle fire os环境中发布geolocation app 551

18.8 调试android或amazon fire os app 555

18.9 获取有关设备的信息 557

附录a认识jsbin和jsfiddle 563