译者按:最近,随着Professional JavaScript, 3rd Edition (要了解原书信息,请点击右侧原书封面)的出版,不少关心它的读者纷纷询问第3版和第2版的差异。其实,作者博客上有一篇文章,专门介绍新版本的内容,只不过不够详细。本文结合翻译作者博客,再给出我在翻译过程中比对的结果,供读者参考。

作者在博客中给出的更新信息

以下内容摘自作者尼古拉斯·泽卡斯(Nicholas C. Zakas)的博客(“Now available: Professional JavaScript, 3rd Edition”):

我非常高兴地告诉大家:Professional JavaScript, 3rd Edition 已经可以在书店买到了。6年多前,这本书第1版问世,而且改变了我的生活,这是我从来没有想到的。因为这本书,我才加入Yahoo!,才第一次被邀请在大会上演讲。第1版是个人爱好的结晶,而这个爱好持续几年后有了第2版,现在又有这一版;这一版花了一年时间才完成。

如果我说这一版的内容不只是更新,知道我的人不会惊讶。第3版全新的内容就有5章,涵盖了全新的HTML5 API,比如历史状态管理、Canvas、离线应用、Web Workers,等等。在全书各章里,我也增加了ECMAScript 5带来的变化,包括严格模式的限制和如何使用新API创建对象。原有内容也都更新了最新浏览器支持信息,包括移动平台浏览器的支持情况(不过,浏览器支持情况永远跟不上变化)。另外,这一版还为ECMAScript Harmony增加了一个附录,以便读者提前了解一下未来的情形。

译者在翻译过程中比对的信息

本书第2版正文22章,另有两个附录。第3版则有25章,4个附录。作者在博客中提到的新增的5章大致应该如下。

  1. 第11章:DOM扩展
  2. 第15章:使用Canvas绘图
  3. 第16章:HTML5脚本编程
  4. 第23章:离线应用与客户端存储
  5. 第25章:新兴的API

之所以说大致是这5章,主要因为它们跟“HTML5及相关规范”都有联系。而事实上,可以算得上新增的不止这几章,以下几章内容基本上也算是全新的。

  • 第20章:JSON(介绍浏览器对JSON序列化及字符串解析的原生API)
  • 第21章:Ajax与Comet(介绍Ajax及长轮询和HTTP流——Comet)
  • 附录A:ECMAScript Harmony
  • 附录B:严格模式

除此之外,更新内容比较多的还有以下几章——主要区别是ECMAScript 5新增的严格模式下一些基本语法结构的变化及限制,还有新的语言特性(比如新增的数组操作方法、事件类型等)以及DOM3级事件模块相关的更新:

  • 第3章:语言基础
  • 第5章:引用类型
  • 第13章:事件

目前,本书正在翻译中。图灵会在保证质量的前提下,尽量加快本书的出版进度,希望这个体现ECMAScript 5和HTML5规范的新版本早日与中文读者见面。