JavaScript经典实例
Shelley Powers
李强 译
出版时间:2012年02月
页数:512
当你在JavaScript中遇到问题的时候,没有必要再去做一些重复无谓的劳动。因为本书各节中的完整代码解决了常见的编程问题,并且给出了在任何浏览器中构建Web应用程序的技术。只需要将这些代码示例复制并粘贴到你自己的项目中就行了,可以快速完成工作,并且在此过程中学习JavaScript的很多知识。
你还将学习如何利用ECMAScript 5和HTML5中的最新功能,包括新的跨域挂件通信技术、HTML5的video和audio元素,以及绘制画布。书中一些章节介绍了如何将这些技术与JavaScript一起使用,构建高品质的应用程序界面。

· 创建交互式Web和桌面应用程序。
· 使用JavaScript对象,例如String、Array、Number和Math。
· 使用JavaScript和Scalable Vector Graphics (SVG),以及canvas元素。
· 以不同的方式存储数据,从简单的到复杂的。
· 用新的HTML5 audio和video元素编程。
· 用Web Worker实现并发编程。
· 使用和创建jQuery插件。
· 使用ARIA和JavaScript创建完全可访问性的富Internet应用程序。

“你在寻找JavaScript解决方案甚至灵感以期走出编码迷宫,让整个事情变得容易很多?Shelley Powers通过将所有的这些优秀解决方案和技巧收集到本书中,从而帮了全世界的Web设计师一个大忙。”
——Christopher Schmitt,CSS Cookbook作者

Shelley Powers已经从事Web技术工作和写作达15年之久,从JavaScript初次开发到现在最新的图形和设计工具发布。她最近在O’Reilly出版的图书包括语义网、Ajax、JavaScript和Web图形。
  1. 前言
  2. 第1章 使用JavaScript字符串
  3. 1.0 简介
  4. 1.1 连接两个或多个字符串
  5. 1.2 连接字符串和另一种数据类型
  6. 1.3 条件比较字符串
  7. 1.4 在字符串中查找子字符串
  8. 1.5 从一个字符串提取子字符串
  9. 1.6 检查一个存在的、非空的字符串
  10. 1.7 将一个关键字字符串分解为单独的关键字
  11. 1.8 插入特殊字符
  12. 1.9 处理textarea的单个行
  13. 1.10 去除字符串末尾的空白
  14. 1.11 左补充或右补充一个字符串
  15. 第2章 使用正则表达式
  16. 2.0 简介
  17. 2.1 测试一个子字符串是否存在
  18. 2.2 测试不区分大小写的子字符串匹配
  19. 2.3 验证社会安全号码
  20. 2.4 找到并突出显示一个模式的所有实例
  21. 2.5 使用新字符串替换模式
  22. 2.6 使用捕获圆括号交换一个字符串中的单词
  23. 2.7 使用正则表达式来去除空白
  24. 2.8 使用命名实体来替代HTML标签
  25. 2.9 搜索特殊字符
  26. 第3章 日期、时间和定时器
  27. 3.0 简介
  28. 3.1 打印出今天的日期
  29. 3.2 打印出UTC日期和时间
  30. 3.3 打印出一个ISO 8601格式日期
  31. 3.4 把一个ISO 8601格式的日期转换为Date对象可接受的一种格式
  32. 3.5 创建一个特定的日期
  33. 3.6 规划未来的一个日期
  34. 3.7 记录流逝的时间
  35. 3.8 创建一个延迟
  36. 3.9 创建重复性定时器
  37. 3.10 使用带有定时器的函数闭包
  38. 第4章 使用Number和Math
  39. 4.0 简介
  40. 4.1 保持一个递增的计数
  41. 4.2 把十进制数转换为一个十六进制值
  42. 4.3 创建一个随机数生成器
  43. 4.4 随机产生颜色
  44. 4.5 把表中的字符串转换为数字
  45. 4.6 把表中一列的所有数字加和
  46. 4.7 在角度和弧度之间转换
  47. 4.8 找到页面元素可容纳的一个圆的半径和圆心
  48. 4.9 计算圆弧的长度
  49. 第5章 使用数组和循环
  50. 5.0 简介
  51. 5.1 循环遍历数组
  52. 5.2 创建多维数组
  53. 5.3 从数组创建一个字符串
  54. 5.4 排序数组
  55. 5.5 按顺序存储和访问值
  56. 5.6 以相反的顺序存储和访问值
  57. 5.7 创建一个新数组作为已有数组的子集
  58. 5.8 在数组中搜索
  59. 5.9 将一个多维数组扁平化
  60. 5.10 搜索和删除或替换数组元素
  61. 5.11 对每个数组元素应用一个函数
  62. 5.12 对数组中的每个元素执行一个函数并返回一个新数组
  63. 5.13 创建一个过滤后的数组
  64. 5.14 验证数组内容
  65. 5.15 使用一个关联数组来存储表单元素名和值
  66. 第6章 使用JavaScript函数构建重用性
  67. 6.0 简介
  68. 6.1 创建一段可重用的代码
  69. 6.2 把单个数据值传递到函数
  70. 6.3 把复杂的数据对象传递给函数
  71. 6.4 创建一个动态运行时函数
  72. 6.5 把一个函数当做参数传递给另一个函数 6.6 实现递归算法
  73. 6.7 创建能够记住其状态的函数
  74. 6.8 使用一个通用的科里化函数提高应用程序性能
  75. 6.9 使用缓存计算(Memoization)来提高应用程序性能
  76. 6.10 使用匿名函数包装全局变量
  77. 第7章 处理事件
  78. 7.0 简介
  79. 7.1 检测页面何时完成载入
  80. 7.2 使用Event对象捕获鼠标点击事件的位置
  81. 7.3 创建一个通用的、可重用的事件处理函数
  82. 7.4 根据修改的条件来取消一个事件
  83. 7.5 阻止事件在一组嵌套元素中传播
  84. 7.6 捕获键盘活动
  85. 7.7 使用新的HTML 5拖放
  86. 7.8 使用Safari方向事件和其他移动开发环境
  87. 第8章 浏览器模块
  88. 8.0 简介
  89. 8.1 请求Web页面访问者确认一项操作
  90. 8.2 创建一个新的、下拉式的浏览器窗口
  91. 8.3 找到关于浏览器的访问页面
  92. 8.4 警告Web页面访问者将要离开页面
  93. 8.5 根据颜色支持更改样式表
  94. 8.6 根据页面大小修改图像尺寸
  95. 8.7 在CMS模板页面中创建面包屑路径
  96. 8.8 将一个动态页面加入书签
  97. 8.9 针对后退按钮、页面刷新来保持状态
  98. 第9章 表单元素和验证
  99. 9.0 简介
  100. 9.1 访问表单文本输入值
  101. 9.2 动态关闭或打开表单元素
  102. 9.3 根据一个事件从表单元素获取信息
  103. 9.4 当点击单选按钮的时候执行一个动作
  104. 9.5 检查一个有效的电话号码
  105. 9.6 取消表单提交
  106. 9.7 阻止重复表单提交
  107. 9.8 隐藏和显示表单元素
  108. 9.9 根据其他表单选择修改一个选项列表
  109. 第10章 调试和错误处理
  110. 10.0 简介
  111. 10.1 优雅地处理无JavaScript支持的情况
  112. 10.2 检查函数中的错误
  113. 10.3 对于简单调试使用一条警告
  114. 10.4 捕获一个错误并提供优雅的错误处理
  115. 10.5 初始化可管理的错误
  116. 10.6 使用Firefox的Firebug
  117. 10.7 使用Firebug设置一个断点并查看数据
  118. 10.8 Firefox和Console
  119. 10.9 使用IE的内建调试器
  120. 10.10 使用IE Developer Tools设置一个断点
  121. 10.11 Opera的Dragonfly
  122. 10.12 使用Dragonfly设置一个断点
  123. 10.13 打开Safari的开发工具
  124. 10.14 使用Safari调试器设置断点
  125. 10.15 Chrome中的调试
  126. 第11章 访问页面元素
  127. 11.0 简介
  128. 11.1 访问一个给定的元素并找到其父元素和子元素
  129. 11.2 访问Web页面中所有的图像
  130. 11.3 在一篇文章中找出所有的图像
  131. 11.4 使用Selectors API找出文章中的所有图像
  132. 11.5 找出一组元素的父元素
  133. 11.6 突出显示每个元素中的第一个段落
  134. 11.7 对无序列表应用条纹主题
  135. 11.8 创建一个给定类的所有元素的一个数组
  136. 11.9 找出共享同一属性的所有元素
  137. 11.10 找出所有选中的选项
  138. 11.11 把一个表行中所有值加和
  139. 11.12 获取元素属性
  140. 11.13 获取一个元素的样式信息
  141. 第12章 创建和删除元素和属性
  142. 12.0 简介
  143. 12.1 使用innerHTML:一种添加内容的快速而容易的方法
  144. 12.2 在已有页面元素前插入元素
  145. 12.3 在页面的末尾附加一个新元素
  146. 12.4 触发IE的旧版来样式化新元素
  147. 12.5 插入一个新的段落
  148. 12.6 给新的段落添加文本
  149. 12.7 向一个已有元素添加属性
  150. 12.8 测试一个布尔值
  151. 12.9 删除一个属性
  152. 12.10 移动一个段落
  153. 12.11 使用脚注项目符号替代链接
  154. 12.12 向已有的表添加行
  155. 12.13 从一个div元素删除一个段落
  156. 12.14 从HTML表格删除行
  157. 12.15 修改元素的CSS样式属性
  158. 第13章 使用Web页面空间
  159. 13.0 简介
  160. 13.1 确定Web页面的区域
  161. 13.2 度量元素
  162. 13.3 在页面中定位元素
  163. 13.4 隐藏页面区段
  164. 13.5 创建可折叠的表单区段
  165. 13.6 添加一个页面覆盖
  166. 13.7 创建标签页
  167. 13.8 创建基于悬停的弹出信息窗口
  168. 13.9 折叠边栏或调整其大小
  169. 第14章 使用JavaScript、CSS和ARIA
  170. 创建交互式和可访问性效果
  171. 14.0 简介
  172. 14.1 显示隐藏的页面区段
  173. 14.2 创建警告消息
  174. 14.3 突出显示遗漏数据或数据不正确的表单字段
  175. 14.4 给页面覆盖添加键盘可访问性
  176. 14.5 创建可折叠的表单区段
  177. 14.6 显示一个带颜色的闪烁以表示一个动作
  178. 14.7 给标签页应用程序添加ARIA属性
  179. 14.8 动态区域
  180. 第15章 创建富媒体和交互应用程序
  181. 15.0 简介
  182. 15.1 在画布中创建基本的图形(使用canvas元素)
  183. 15.2 在Internet Explorer中实现画布应用程序
  184. 15.3 在画布中创建一个动态的线条图表
  185. 15.4 向一个SVG文件添加JavaScript
  186. 15.5 从Web页面脚本访问SVG
  187. 15.6 在Internet Explorer中模拟SVG
  188. 15.7 为嵌入到HTML中的SVG增加交互性
  189. 15.8 使用Math函数在SVG中创建一个实际的、走动的模拟时钟
  190. 15.9 在HTML中加入SVG和画布元素
  191. 15.10 在Firefox和WebKit/Safari中调试WebGL支持
  192. 15.11 当一个音频文件开始播放的时候运行一个例程
  193. 15.12 用JavaScript和video元素控制视频
  194. 第16章 JavaScript对象
  195. 16.0 简介
  196. 16.1 定义一个基本的JavaScript对象
  197. 16.2 保持对象成员私有
  198. 16.3 用原型扩展对象
  199. 16.4 给对象添加Getter/Setter
  200. 16.5 继承一个对象的功能
  201. 16.6 通过定义一个新的属性来扩展对象
  202. 16.7 枚举一个对象的属性
  203. 16.8 阻止对象可扩展性
  204. 16.9 阻止对象添加和修改属性描述符
  205. 16.10 阻止对对象的任何修改
  206. 16.11 一次性对象和为你的JavaScript提供命名空间
  207. 16.12 用Prototype.bind再次发现“this”
  208. 16.13 将对象方法链化
  209. 第17章 JavaScript库
  210. 17.0 简介
  211. 17.1 包装你的代码
  212. 17.2 使用JsUnit测试代码
  213. 17.3简化你的库
  214. 17.4 寄存库
  215. 17.5 使用一个外部库:构建于jQuery框架之上
  216. 17.6 使用已有的jQuery插件
  217. 17.7 把库转换为一个jQuery插件
  218. 17.8 安全地把几个库组合到你的应用程序中
  219. 第18章 通信
  220. 18.0 简介
  221. 18.1 访问XMLHttpRequest对象
  222. 18.2 为传输准备数据
  223. 18.3 确定查询调用的类型
  224. 18.4 为Ajax请求添加一个回调函数
  225. 18.5 检查一个错误条件
  226. 18.6 处理一个文本结果
  227. 18.7 (使用JSONP)对另一个域进行Ajax请求
  228. 18.8 从服务器填充一个选项列表
  229. 18.9 使用定时器以新数据自动更新页面
  230. 18.10 使用PostMessage跨窗口通信
  231. 第19章 使用结构化数据
  232. 19.0 简介
  233. 19.1 处理从Ajax调用返回的一个XML文档 19.2 从一个XML树提取相关信息
  234. 19.3 使用JSON产生一个JavaScript对象
  235. 19.4 解析一个JSON格式化字符串
  236. 19.5 使用JSON把一个对象转换为过滤的/转换的字符串
  237. 19.6 把hCalendar微格式注释转换为一个画布时间表
  238. 19.7 清除页面RDFa并且使用rdfQuery和jQuery RDF插件将其转换为JSON
  239. 第20章 持久化
  240. 20.0 简介
  241. 20.1 给URL附加持久性信息
  242. 20.2 创建一个Cookie来跨页面持久化信息
  243. 20.3 使用History.pushState方法和window.onpopevent来持久化信息
  244. 20.4 针对客户端存储使用sessionStorage
  245. 20.5 创建一个localStorage客户端数据存储项
  246. 20.6 使用关系数据存储来持久化数据
  247. 第21章 JavaScript创新用法
  248. 21.0 简介
  249. 21.1 创建一个浏览器插件或扩展
  250. 21.2 创建桌面和移动挂件
  251. 21.3 使用PhoneGap为iPhone、Android和BlackBerry开发JavaScript应用程序
  252. 21.4 使用JavaScript扩展工具
  253. 21.5 使用Web Workers和File API创建高效的桌面应用程序
书名:JavaScript经典实例
作者:Shelley Powers
译者:李强 译
国内出版社:中国电力出版社
出版时间:2012年02月
页数:512
书号:978-7-5123-2058-1
原版书书名:JavaScript Cookbook
原版书出版商:O'Reilly Media
Shelley Powers
 
Shelley Powers从JavaScript初次开发到现在最新的图形和设计工具发布,Shelley Powers已经从事Web技术工作和写作达15年之久。她最近在O’Reilly出版的图书包括语义网、Ajax、JavaScript和Web图形。她是一位热情的业余摄影师,也是Web开发的狂热爱好者,她从JavaScript刚发布时,就开始使用和编写Web技术相关书籍。她之前在O’Reilly出版了8本书,包括Developing ASP Components(2001),Adding Ajax(2007)和JavaScript Cookbook(2010)。
 
 
本书封面的动物是一只小白鹭。一只小白鹭是旧世界的代表,与新世界的雪鹭很相似。它是新加坡最小也是最常见的白鹭,最初繁衍在欧洲、亚洲、非洲、中国台湾和澳大利亚等热带地区的大岛屿和沿海湿热的岛上。在温暖的地方,很多鸟类都是永久定居的,而北方的鸟类,包括很多欧洲鸟类,迁徙到非洲和南亚地区。它们还会在繁殖季节后返回北方,白鹭的分布范围很广,可能就是由此导致的。
成年的白鹭身长在55?65cm,翅膀长度在88?106cm。它的体重在350?550g。它的羽毛是全白的。它有长长的、黑色的后腿,带有黄色的脚,以及一只黑色的嘴。在繁殖季节,成年白鹭在枕部带有两枚狭长的矛状羽,悬垂于后颈;而前胸和背部成为薄薄的蓑羽,嘴部和眼睛之间裸露皮肤变成红色或蓝色。幼年的白鹭类似于没有繁殖的成年白鹭,但是后腿和脚相对笨拙。小白鹭是苍鹭和白鹭之间的捕食高手,具有各种非常广泛的技术:它们耐心地在浅水边等待捕食,一只腿站着另一只腿搅浑了泥水以惊起水中的猎物;或者,更好的方式是,一只腿站着,另一只明亮的黄色的脚伸入水的表面引诱水中的猎物。这种鸟大多数时候很安静,但是,在繁殖的时候会发出各种叫声,并且在受到干扰的时候会发出刺耳的警告。
小白鹭往往和其他的水岸鸟类筑巢群居,通常在树的枝干或灌木丛中、芦苇坡中,以及竹林中筑巢。在某些地方,例如Cape Verde岛,白鹭在悬崖边筑巢。它们成对地度过一段繁殖时期。父母都将孵化它们的3?5个卵长达21?25天,直到孵化。卵是椭圆形的,没有光泽,带有浅浅的蓝绿色。幼年白鹭长着白色的羽毛,由父母照顾,经过40?45天后成熟。在这段时间,幼鸟会在浅水边捕食,经常会奔跑着举起翅膀并拖着脚走。它也会站立并等待捕食。它吃鱼、昆虫、两栖动物、甲壳虫和爬行动物。
购买选项
定价:78.00元
书号:978-7-5123-2058-1
出版社:中国电力出版社