《JavaScript高階程式設計》第3版與第2版有何差異?

李鬆峰發表於2012-02-14

譯者按:最近,隨著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規範的新版本早日與中文讀者見面。

相關文章