JavaScript忍者秘籍

阅读
¥41.40¥28.98
人邮畅销电子书超值促销丨长假阅读特价 了解详情
  • 导言
  • 目录
  • 作品信息

JavaScript语言非常重要,相关的技术图书也很多,但没有任何一本书对JavaScript语言的重要部分(函数、闭包和原型)进行深入、全面的介绍,也没有任何一本书讲述跨浏览器代码的编写。本书是jQuery库创始人编写的一本深入剖析JavaScript语言的书。

本书共分四个部分,从准入训练、见习训练、忍者训练和火影训练四个层次讲述了逐步成为JavaScript高手的全过程。全书从高级Web应用程序开发者所面临的挑战谈起,由浅入深地覆盖了测试和测试工具、函数、闭包、对象、正则表达式、定时器、运行时代码求值、with语句、跨浏览器问题、元素的特性和属性、事件处理、DOM以及CSS选择器等众多核心话题;将严谨的理论讲解和实用的代码示例相结合,引导读者更加深入地了解JavaScript的神奇,充分展示了JavaScript语言的各种特性。

本书适合具备一定的JavaScript基础知识的读者阅读,也适合从事程序设计工作并想要深入探索JavaScript语言的读者阅读。

John Resig是可汗学院计算机科学学院的院长,也是jQuery JavaScript库的创造者。排名前10000的网站中,目前有57%的网站使用jQuery(BuiltWith.com统计),并且有几百万其他网站也使用jQuery,它已成为最受欢迎的用于构建网站的技术,可能也是一直以来最流行的编程技术之一。

他还创建了许多其他开源工具和项目,包括Processing.js(Processing语言到JavaScript的转换)、QUnit(测试JavaScript代码的测试套件)和TestSwarm(用于分布式JavaScript测试的平台)。

他目前正在可汗学院进一步开展计算机科学教育,他在学校开发计算机科学课程和工具,来教各个年龄层的人如何编程。可汗学院的目标是创造优秀的免费教育资源。他不仅教人们如何编程,还让每一位程序员体验写完自己的第一个程序后的兴奋。

目前,John住在纽约布鲁克林,业余时间喜欢研究Ukiyo-e(日本版画)。

Bear Bibeault编写软件已经超过30年,一开始是通过一个100波特的电传打字机在控制数据网络超级计算机上编写井字程序。因为Bear有两个电气工程学位,因此应该是从事设计天线之类的工作,但从他在数字设备公司从事的第一份工作开始,他总是更着迷于编程。

Bear还分别在Lightbridge Inc.、BMC Software、Dragon Systems、Works.com等其他几个公司工作过。Bear甚至曾在美国军队服役,教步兵学习如何炸毁坦克,这些技能在每日例会上还能派上用场。

Bear目前担任一家家庭网关设备和电视机顶盒领域领先供应商的软件架构师。

Bear是其他一些Manning图书的作者:jQuery in Action(第一版和第二版)、Ajax in Practice和Prototype and Scriptaculous in Action__,他还是O’Reilly出版的许多网络Head First图书的技术复审员,如Head First Ajax、Head Rush Ajax和Head First Servlets and __JSP。

除了日常工作外,Bear还写书(duh!),并经营着一家小型企业,致力于创建Web应用程序,提供其他媒体服务(但不是婚礼摄像——永远不会是婚礼摄像),并作为“引领者”(非常资深的版主)帮着打理CodeRanch.com。

不在电脑前待着时,Bear喜欢做大餐、涉足摄影和视频,也喜欢驾驶雅马哈V-Star和穿热带印花衬衫。

他工作和居住在得克萨斯州奥斯汀,他深爱这座城市,除了满城的疯狂司机外。

  1. 作者简介
  2. 图书评论
  3. 版权声明
  4. 内容提要
  5. 致谢
  6. John Resig
  7. Bear Bibeault
  8. 译者序
  9. 前言
  10. 目标读者
  11. 路线图
  12. 代码规范
  13. 源码下载
  14. 在线交流
  15. 关于封面插图
  16. 第一部分 准入训练
  17. 第1章 进入忍者世界
  18. 1.1 即将探索的JavaScript库
  19. 1.2 理解JavaScript语言
  20. 1.3 跨浏览器注意事项
  21. 1.4 当前最佳实践
  22. 1.4.1 当前最佳实践:测试
  23. 1.4.2 当前最佳实践:性能分析
  24. 1.5 总结
  25. 第2章 利用测试和调试武装自己
  26. 2.1 调试代码
  27. 2.1.1 日志记录
  28. 2.1.2 断点
  29. 2.2 测试用例生成
  30. 2.3 测试框架
  31. 2.3.1 QUnit
  32. 2.3.2 YUI Test
  33. 2.3.3 JsUnit
  34. 2.3.4 新出的单元测试框架
  35. 2.4 测试套件基础知识
  36. 2.4.1 断言
  37. 2.4.2 测试组
  38. 2.4.3 异步测试
  39. 2.5 总结
  40. 第二部分 见习训练
  41. 第3章 函数是根基
  42. 3.1 函数的独特之处
  43. 3.1.1 JavaScript的函数式特性为何如此重要
  44. 3.1.2 使用比较器进行排序
  45. 3.2 函数声明
  46. 3.3 函数调用
  47. 3.3.1 从参数到函数形参
  48. 3.3.2 作为函数进行调用
  49. 3.3.3 作为方法进行调用
  50. 3.3.4 作为构造器进行调用
  51. 3.3.5 使用apply()和call()方法进行调用
  52. 3.4 总结
  53. 第4章 挥舞函数
  54. 4.1 匿名函数
  55. 4.2 递归
  56. 4.2.1 普通命名函数中的递归
  57. 4.2.2 方法中的递归
  58. 4.2.3 引用的丢失问题
  59. 4.2.4 内联命名函数
  60. 4.2.5 callee属性
  61. 4.3 将函数视为对象
  62. 4.3.1 函数存储
  63. 4.3.2 自记忆函数
  64. 4.3.3 伪造数组方法
  65. 4.4 可变长度的参数列表
  66. 4.4.1 使用apply()支持可变参数
  67. 4.4.2 函数重载
  68. 4.5 函数判断
  69. 4.6 总结
  70. 第5章 闭包
  71. 5.1 闭包是如何工作的
  72. 5.2 使用闭包
  73. 5.2.1 私有变量
  74. 5.2.2 回调(callback)与计时器(timer)
  75. 5.3 绑定函数上下文
  76. 5.4 偏应用函数
  77. 5.5 函数重载
  78. 5.5.1 缓存记忆
  79. 5.5.2 函数包装
  80. 5.6 即时函数
  81. 5.6.1 临时作用域和私有变量
  82. 5.6.2 循环
  83. 5.6.3 类库包装
  84. 5.7 总结
  85. 第6章 原型与面向对象
  86. 6.1 实例化和原型
  87. 6.1.1 对象实例化
  88. 6.1.2 通过构造器判断对象类型
  89. 6.1.3 继承与原型链
  90. 6.1.4 HTML DOM原型
  91. 6.2 疑难陷阱
  92. 6.2.1 扩展对象
  93. 6.2.2 扩展数字
  94. 6.2.3 子类化原生对象
  95. 6.2.4 实例化问题
  96. 6.3 编写类风格的代码
  97. 6.3.1 检测函数是否可序列化
  98. 6.3.2 子类的实例化
  99. 6.3.3 保留父级方法
  100. 6.4 总结
  101. 第7章 正则表达式
  102. 7.1 为什么正则表达式很牛
  103. 7.2 正则表达式进阶
  104. 7.2.1 正则表达式解释
  105. 7.2.2 术语与操作符
  106. 7.3 编译正则表达式
  107. 7.4 捕获匹配的片段
  108. 7.4.1 执行简单的捕获
  109. 7.4.2 用全局表达式进行匹配
  110. 7.4.3 捕获的引用
  111. 7.4.4 没有捕获的分组
  112. 7.5 利用函数进行替换
  113. 7.6 利用正则表达式解决常见问题
  114. 7.6.1 修剪字符串
  115. 7.6.2 匹配换行符
  116. 7.6.3 Unicode
  117. 7.6.4 转义字符
  118. 7.7 总结
  119. 第8章 驯服线程和定时器
  120. 8.1 定时器和线程是如何工作的
  121. 8.1.1 设置和清除定时器
  122. 8.1.2 执行线程中的定时器执行
  123. 8.1.3 timeout与interval之间的区别
  124. 8.2 定时器延迟的最小化及其可靠性
  125. 8.3 处理昂贵的计算过程
  126. 8.4 中央定时器控制
  127. 8.5 异步测试
  128. 8.6 总结
  129. 第三部分 忍者训练
  130. 第9章 忍者点金术:运行时代码求值
  131. 9.1 代码求值机制
  132. 9.1.1 用eval()方法进行求值
  133. 9.1.2 用函数构造器进行求值
  134. 9.1.3 用定时器进行求值
  135. 9.1.4 全局作用域内的求值操作
  136. 9.1.5 安全的代码求值
  137. 9.2 函数反编译
  138. 9.3 代码求值实战
  139. 9.3.1 JSON转化
  140. 9.3.2 导入有命名空间的代码
  141. 9.3.3 JavaScript压缩和混淆
  142. 9.3.4 动态重写代码
  143. 9.3.5 面向切面的脚本标签
  144. 9.3.6 元语言和领域特定语言
  145. 9.4 总结
  146. 第10章 with语句
  147. 10.1 with是怎么回事
  148. 10.1.1 在with作用域内引用属性
  149. 10.1.2 在with作用域内进行赋值
  150. 10.1.3 性能方面的注意事项
  151. 10.2 真实示例
  152. 10.3 导入有命名空间的代码
  153. 10.4 测试
  154. 10.5 使用with进行模板化
  155. 10.6 总结
  156. 第11章 开发跨浏览器策略
  157. 11.1 选择要支持的浏览器
  158. 11.2 五大开发关注点
  159. 11.2.1 浏览器bug和浏览器差异
  160. 11.2.2 浏览器bug修复
  161. 11.2.3 与外部代码(标记)一起共存
  162. 11.2.4 缺失的功能
  163. 11.2.5 回归
  164. 11.3 实现策略
  165. 11.3.1 安全的跨浏览器修复
  166. 11.3.2 对象检测
  167. 11.3.3 特征仿真
  168. 11.3.4 不可检测的浏览器问题
  169. 11.4 减少假设
  170. 11.5 总结
  171. 第12章 洞悉特性、属性和样式
  172. 12.1 DOM特性和DOM属性
  173. 12.1.1 跨浏览器命名
  174. 12.1.2 命名限制
  175. 12.1.3 XML与HTML之间的差异
  176. 12.1.4 自定义特性的行为
  177. 12.1.5 性能注意事项
  178. 12.2 跨浏览器的attribute问题
  179. 12.2.1 DOM中的id/name膨胀
  180. 12.2.2 URL规范化
  181. 12.2.3 style特性
  182. 12.2.4 type特性
  183. 12.2.5 tab index问题
  184. 12.2.6 节点名称
  185. 12.3 令人头疼的样式特性
  186. 12.3.1 样式在何处
  187. 12.3.2 样式属性命名
  188. 12.3.3 float样式属性
  189. 12.3.4 像素值的转换过程
  190. 12.3.5 测量元素的高度和宽度
  191. 12.3.6 通过opacity看透明度
  192. 12.3.7 颜色属性
  193. 12.4 获取计算样式
  194. 12.5 总结
  195. 第四部分 火影训练
  196. 第13章 不老事件
  197. 13.1 绑定和解绑事件处理程序
  198. 13.2 Event对象
  199. 13.3 处理程序的管理
  200. 13.3.1 集中存储相关信息
  201. 13.3.2 管理事件处理程序
  202. 13.4 事件触发
  203. 13.5 冒泡与委托
  204. 13.5.1 将事件委托给祖先元素
  205. 13.5.2 修复浏览器的不足
  206. 13.6 文档就绪事件(document ready)
  207. 13.7 总结
  208. 第14章 DOM操作
  209. 14.1 向DOM中注入HTML
  210. 14.1.1 将HTML转换成DOM
  211. 14.1.2 将DOM插入到文档中
  212. 14.1.3 脚本执行
  213. 14.2 克隆元素
  214. 14.3 删除元素
  215. 14.4 文本内容
  216. 14.4.1 设置文本
  217. 14.4.2 获取文本
  218. 14.5 总结
  219. 第15章 CSS选择器引擎
  220. 15.1 W3C Selectors API
  221. 15.2 利用XPath查找元素
  222. 15.3 纯DOM实现
  223. 15.3.1 对选择器进行解析
  224. 15.3.2 查找元素
  225. 15.3.3 过滤结果集
  226. 15.3.4 递归和合并
  227. 15.3.5 自下而上的选择器引用
  228. 15.4 总结
  229. 看完了

作者〔美〕John Resig〔美〕Bear Bibeault

译者徐涛

类别 图书 / 非虚构

出版社人民邮电出版社

出版日期

ISBN9787115401946

提供方人民邮电出版社

标签编程(360)JavaScript(32)web开发(11)限时特价(13804)前端开发(19)javascript(13)前端(20)

喜欢这本书的人也喜欢

    还没有读者为它写评论

    来自豆瓣读书的评论8