JavaScript权威指南(第6版)
David Flanagan
淘宝前端团队 译
出版时间:2012年04月
页数:1004
经典权威的JavaScript工具书
从1996年以来,本书已经成为JavaScript程序员心中的《圣经》。该书已经印刷了50多万册,Web开发人员对它如是评价:
“本书是JavaScript程序员的必备参考……内容组织得很好,而且非常详细。 ”
—— Brendan Eich,JavaScript之父,Mozilla CTO
“我从本书学到的内容直接影响到我的职业生涯。”
——Andrew Hedges,Tapulous公司游戏工程师
“本书教会了我JavaScript。”
——Tom Robinson,280 North的创始人,Cappuccion的合作创始人
“通过阅读本书,我能全面地掌握JavaScript这门语言,本书让我受益匪浅。”
——J. Chris Anderson,CouchBase的创始人,Apache CouchDB委员会成员,《CouchDB:The Definitive Guide》一书的作者
“如果让我来推荐一本学习JavaScript的最佳书籍,我一定会推荐本书。”
——Rey Bango,微软客户端Web社区项目主管和jQuery团队成员

本书是程序员学习核心JavaScript语言和由Web浏览器定义的JavaScript API的指南和综合参考手册。
第6版涵盖HTML5和ECMAScript 5。很多章节完全重写,以便与时俱进,紧跟当今的最佳Web开发实践。本书新增章节描述了jQuery和服务器端JavaScript。 本书适合那些希望学习Web编程语言的初、中级程序员和希望精通JavaScript的程序员阅读。

David Flanagan的其他作品包括《JavaScript Pocket Reference》、《The Ruby Programming Language》以及《Java in a Nutshell》。
  1. 前言 1
  2. 第1章 javascript概述 5
  3. 1.1 javascript语言核心 8
  4. 1.2 客户端javascript 12
  5. 第一部分 javascript 语言核心
  6. 第2章 词法结构 25
  7. 2.1 字符集 25
  8. 2.2 注释 27
  9. 2.3 直接量 27
  10. 2.4 标识符和保留字 28
  11. 2.5 可选的分号 30
  12. 第3章 类型、值和变量 32
  13. 3.1 数字 34
  14. 3.2 文本 38
  15. 3.3 布尔值 43
  16. 3.4 null和undefined 44
  17. 3.5 全局对象 45
  18. 3.6 包装对象 46
  19. 3.7 不可变的原始值和可变的对象引用 47
  20. .3.8 类型转换 48
  21. 3.9 变量声明 55
  22. 3.10 变量作用域 56
  23. 第4章 表达式和运算符 60
  24. 4.1 原始表达式 60
  25. 4.2 对象和数组的初始化表达式 61
  26. 4.3 函数定义表达式 62
  27. 4.4 属性访问表达式 63
  28. 4.5 调用表达式 64
  29. 4.6 对象创建表达式 64
  30. 4.7 运算符概述 65
  31. 4.8 算术表达式 69
  32. 4.9 关系表达式 74
  33. 4.10 逻辑表达式 79
  34. 4.11 赋值表达式 81
  35. 4.12 表达式计算 83
  36. 4.13 其他运算符 86
  37. 第5章 语句 91
  38. 5.1 表达式语句 92
  39. 5.2 复合语句和空语句 92
  40. 5.3 声明语句 94
  41. 5.4 条件语句 96
  42. 5.5 循环 101
  43. 5.6 跳转 106
  44. 5.7 其他语句类型 113
  45. 5.8 javascript语句小结 116
  46. 第6章 对象 118
  47. 6.1 创建对象 120
  48. 6.2 属性的查询和设置 123
  49. 6.3 删除属性 127
  50. 6.4 检测属性 128
  51. 6.5 枚举属性 130
  52. 6.6 属性getter和setter 132
  53. 6.7 属性的特性 134
  54. 6.8 对象的三个属性 138
  55. 6.9 序列化对象 141
  56. 6.10 对象方法 142
  57. 第7章 数组 144
  58. 7.1 创建数组 144
  59. 7.2 数组元素的读和写 145
  60. 7.3 稀疏数组 147
  61. 7.4 数组长度 148
  62. 7.5 数组元素的添加和删除 149
  63. 7.6 数组遍历 149
  64. 7.7 多维数组 151
  65. 7.8 数组方法 152
  66. 7.9 ecmascript 5中的数组方法 156
  67. 7.10 数组类型 160
  68. 7.11 类数组对象 161
  69. 7.12 作为数组的字符串 163
  70. 第8章 函数 165
  71. 8.1 函数定义 166
  72. 8.2 函数调用 168
  73. 8.3 函数的实参和形参 173
  74. 8.4 作为值的函数 178
  75. 8.5 作为命名空间的函数 181
  76. 8.6 闭包 182
  77. 8.7 函数属性、方法和构造函数 188
  78. 8.8 函数式编程 194
  79. 第9章 类和模块 201
  80. 9.1 类和原型 202
  81. 9.2 类和构造函数 203
  82. 9.3 javascript中java式的类继承 207
  83. 9.4 类的扩充 210
  84. 9.5 类和类型 212
  85. 9.6 javascript中的面向对象技术 217
  86. 9.7 子类 230
  87. 9.8 ecmascript 5 中的类 239
  88. 9.9 模块 248
  89. 第10章 正则表达式的模式匹配 253
  90. 10.1 正则表达式的定义 253
  91. 10.2 用于模式匹配的string方法 261
  92. 10.3 regexp对象 263
  93. 第11章 javascript的子集和扩展 267
  94. 11.1 javascript的子集 268
  95. 11.2 常量和局部变量 271
  96. 11.3 解构赋值 274
  97. 11.4 迭代 276
  98. 11.5 函数简写 285
  99. 11.6 多catch 从句 285
  100. 11.7 e4x: ecmascript for xml 286
  101. 第12章 服务器端javascript 290
  102. 12.1 用rhino脚本化java 291
  103. 12.2 用node实现异步i/o 297
  104. 第二部分 客户端javascript
  105. 第13章 web浏览器中的javascript 309
  106. 13.1 客户端javascript 309
  107. 13.2 在html里嵌入javascript 313
  108. 13.3 javascript程序的执行 319
  109. 13.4 兼容性和互用性 326
  110. 13.5 可访问性 333
  111. 13.6 安全性 334
  112. 13.7 客户端框架 339
  113. 第14章 window对象 341
  114. 14.1 计时器 342
  115. 14.2 浏览器定位和导航 343
  116. 14.3 浏览历史 345
  117. 14.4 浏览器和屏幕信息 346
  118. 14.5 对话框 348
  119. 14.6 错误处理 351
  120. 14.7 作为window对象属性的文档元素 351
  121. 14.8 多窗口和窗体 353
  122. 第15章 脚本化文档 361
  123. 15.1 dom概览 362
  124. 15.2 选取文档元素 364
  125. 15.3 文档结构和遍历 371
  126. 15.4 属性 375
  127. 15.5 元素的内容 378
  128. 15.6 创建、插入和删除节点 382
  129. 15.7 例子:生成目录表 387
  130. 15.8 文档和元素的几何形状和滚动 389
  131. 15.9 html表单 396
  132. 15.10 其他文档特性 404
  133. 第16章 脚本化css 410
  134. 16.1 css概览 411
  135. 16.2 重要的css属性 416
  136. 16.3 脚本化内联样式 427
  137. 16.4 查询计算出的样式 431
  138. 16.5 脚本化css类 433
  139. 16.6 脚本化样式表 436
  140. 第17章 事件处理 440
  141. 17.1 事件类型 442
  142. 17.2 注册事件处理程序 451
  143. 17.3 事件处理程序的调用 454
  144. 17.4 文档加载事件 459
  145. 17.5 鼠标事件 461
  146. 17.6 鼠标滚轮事件 465
  147. 17.7 拖放事件 468
  148. 17.8 文本事件 475
  149. 17.9 键盘事件 478
  150. 第18章 脚本化http 484
  151. 18.1 使用xmlhttprequest 487
  152. 18.2 借助[script]发送http请求:jsonp 505
  153. 18.3 基于服务器端推送事件的comet技术 508
  154. 第19章 jquery类库 514
  155. 19.1 jquery基础 515
  156. 19.2 jquery的getter和setter 522
  157. 19.3 修改文档结构 528
  158. 19.4 使用jquery处理事件 531
  159. 19.5 动画效果 542
  160. 19.6 jquery中的ajax 550
  161. 19.7 工具函数 563
  162. 19.8 jquery选择器和选取方法 566
  163. 19.9 jquery的插件扩展 574
  164. 19.10 jquery ui类库 577
  165. 第20章 客户端存储 579
  166. 20.1 localstorage和sessionstorage 581
  167. 20.2 cookie 586
  168. 20.3 利用ie userdata持久化数据 592
  169. 20.4 应用程序存储和离线web应用 594
  170. 第21章 多媒体和图形编程 606
  171. 21.1 脚本化图片 606
  172. 21.2 脚本化音频和视频 608
  173. 21.3 svg:可伸缩的矢量图形 615
  174. 21.4 [canvas]中的图形 623
  175. 第22章 html5 api 658
  176. 22.1 地理位置 659
  177. 22.2 历史记录管理 662
  178. 22.3 跨域消息传递 668
  179. 22.4 web worker 671
  180. 22.5 类型化数组和arraybuffer 678
  181. 22.6 blob 682
  182. 22.7 文件系统api 691
  183. 22.8 客户端数据库 696
  184. 22.9 web套接字 704
  185. 第三部分 javascript核心参考
  186. javascript核心参考 711
  187. 第四部分 客户端javascript参考客户端
  188. javascript参考 847
书名:JavaScript权威指南(第6版)
作者:David Flanagan
译者:淘宝前端团队 译
国内出版社:机械工业出版社
出版时间:2012年04月
页数:1004
书号:978-7-111-37661-3
原版书书名:JavaScript: The Definitive Guide, 6th Edition
原版书出版商:O'Reilly Media
David Flanagan
 
David Flanagan是一名程序员,也是一名作家,它的个人网站是http://davidflanagan.com。他在O’Reilly出版的其他畅销书还包括《JavaScript Pocket Reference》、《The Ruby Programming Language》以及《Java in a Nutshell》。David毕业于麻省理工学院,获得计算机科学与工程学位。他和妻子和孩子一起生活在西雅图和温哥华之间的美国太平洋西北海岸。
 
 
本书封面上的动物是爪哇犀牛(Javan rhinoceros)。犀牛共有5种,都以庞大的体型、粗厚如装甲的皮肤、三趾蹄以及一个或两个犀牛角著称。其中爪哇犀牛是除了苏门答腊犀牛之外栖息在森林中的两个种类之一。爪哇犀牛与印度犀牛外表非常类似,但体格稍小一些,皮肤纹理有明显不同。
在人们的印象中,犀牛总是站着,把犀牛角深入水或泥中。它们经常如此。不在河里呆着时,犀牛会到泥里挖一个很深的坑,在里面打滚。它们的栖息地有两个优点。首先是可以减轻热带的酷热,并防止吸血蚊虫的叮咬(打滚留下的泥也可以防止蚊蝇叮咬)。其次,泥坑或河水还可以有助于支撑犀牛庞大的身躯,减轻它们腿部和背部的
负担。
长久以来,民间传说犀牛的角富于魔力,而且拥有犀牛角的人也可以获得这种魔力。这是犀牛成为偷猎者主要目标的原因之一。各种犀牛都濒临灭绝,其中爪哇犀牛最为稀少,地球上存活的尚不足100只。爪哇犀牛曾经遍布整个东南亚,但如今只有在印度尼西亚和越南也许还能找到。
本书封面绘图来自于19世纪的Dover画报中的版画。