經歷過14個月的等待,本書終於上市了,完全口語化敘述,請參考右邊的鏈接。
本書介紹
本書無關於JavaScript設計模式,也無關於JavaScript面向對象代碼實現。本書的寫作目的也不是鑒別JavaScript語言特點的好壞。本書並不是一本完整的參考指南。它面向的讀者人群並不是編程新手或對JavaScript完全陌生的人員。同時,它也不是一本JavaScript攻略手冊。關於上述這些方面的書籍都已經面世。
本書的撰寫意圖是通過考察原生JavaScript對象和不同環境對原生對象的支持的細微差別,來給讀者展現准確的JavaScript世界觀:復雜值、原始值、作用域、繼承、head對象等。我希望本書是關於ECMAScript第三版規范的簡單易懂的總結,重點介紹JavaScript中對象的特性。
如果你是只使用過JavaScript庫(如jQuery、MooTools、Zepto、YUI、Dojo等)的設計師或開發人員,我希望本書中的資料能夠使你從JavaScript庫用戶轉變成為JavaScript開發人員。
為什么要寫這本書?
首先,我必須承認,寫這本書是為了我自己。說實話,精心編制這些資料,這樣我就可以品嘗自己制作的“飲品”,並始終記得它的“味道”。換句話說,我想用自己的語言來編寫參考書籍,以便在需要時用來喚起我的記憶。另外:
- JS庫會導致“黑匣子”綜合征,它對某些方面是有益的,但對某些方面是不利的。有些事情完成得很快速和高效,但你卻不知道如何或者為何要如此。當事情不順利或性能成為問題時,如何以及為何就顯得很重要了。事實上,在構建Web應用程序時(或只是一個優秀的注冊表單),如果想要實現JavaScript庫或框架,就應該打開“引擎蓋”看看,了解“發動機”的情況。本書就是寫給那些想要打開JavaScript這個“引擎蓋”並不怕弄臟手的人的。
- Mozilla提供了最新和最完整的JavaScript 1.5參考指南。我認為現在缺少的是一個從單一角度編寫的易讀文檔,從而配合他們的參考指南使用。希望本書會成為JavaScript方面的指南,告訴你“你需要知道什么”,並詳述一些Mozilla指南未涉及的概念。
- 雖然JavaScript 1.5版本發布了很長一段時間,ES6和ES5中的新特性固然要用,但我們希望將存在時間較久的有關JavaScript基礎概念撰寫成書。
- 有關編程語言的高級技術書籍通常都有大量的代碼示例和無意義的漫談。我更喜歡用直接切中要點的簡短解釋,使用可以立即運行的真實代碼。我發明了一個新詞“技術性薄片擷取(technical thin-slicing)”,來描述我在本書中想要使用的東西。這就需要將復雜的主題精簡為更小、更易讀的概念,並采用最少的詞匯以及全面、精准的代碼示例。
- 大多數值得一讀的JavaScript書籍都有3英寸厚。像David Flanigan等人所寫的權威指南肯定有它們自己的一席之地,但我想要編寫的書籍只專注於重要的內容,而不詳述所有知識。
誰應該閱讀本書?
本書面向兩種人群。第一種是希望通過深入了解JavaScript對象來鞏固對語言理解的高級初學者或中級JavaScript開發人員。第二種是准備研究JavaScript幕后知識的JavaScript庫使用老手。本書不適合編程新手、JavaScript庫使用新手以及JavaScript開發新手。