前言

2021-09-15 15:11 更新

起因

我想寫這本書,主要原因是自己需要。

編程時,往往需要查閱資料,確定準確用法。理想的JavaScript參考書,應(yīng)該簡明易懂,一目了然,告訴我有哪些注意點,提供代碼范例。涉及重要概念,還應(yīng)該適當講解??墒谴蠖鄶?shù)時候,現(xiàn)實都不是如此。找到的資料冗長難懂,抓不住重點,有時還很陳舊,跟不上語言標準和瀏覽器的快速發(fā)展,且大多數(shù)是英文資料。

學(xué)習(xí)過程中,我做了很多JavaScript筆記。多年累積,數(shù)量相當龐大。遇到問題,我首先查自己的筆記,如果筆記里沒有,再到網(wǎng)上查,最后回過頭把筆記補全。終于有一天,我意識到可以把筆記做成書,這就是這本教程的由來。

我是為自己寫這本書的,我想用自己的語言敘述JavaScript,按照自己的方式編排章節(jié),便于將來的查閱。當然,另一個寫作動力是覺得這些內(nèi)容對他人有用,畢竟我花了那么多時間,整理成書可以節(jié)省其他人的時間。

正因為脫胎于筆記,這本書跟其他JavaScript書籍有所不同。

  • 它有點像教程,包含重要概念的簡潔講解,努力把復(fù)雜的問題講得簡單,希望一兩分鐘內(nèi)就能抓住重點。

  • 它又有點像參考手冊,羅列主要用法和各種API接口,并給出可以立即運行的代碼。所有章節(jié)按主題編排,不完全按照由淺入深的學(xué)習(xí)順序編排,這是為了方便查閱。

  • 它主要關(guān)注編程實戰(zhàn)遇到的問題,從語言本身到瀏覽器接口都涉及,容易出錯的一些細節(jié)尤其講得多。

考慮到這本書有參考手冊的性質(zhì),所以書名加了“參考”(reference)兩個字。至于書名中的“標準”,指的是全書以JavaScript的國際標準(standard)為依據(jù)。

寫作目標

本書主要針對Web前端開發(fā),以ECMAScript 5作為標準,目標是所講的內(nèi)容在實際開發(fā)之中基本夠用,力求5-10年之內(nèi)不會過時。

全書的內(nèi)容比較廣泛,只要是實戰(zhàn)中用得到的東西都有涉及(核心語法、標準庫、DOM、瀏覽器模型、外部代碼庫、開發(fā)工具等等)。全書的難度為中級,比較適合對JavaScript已經(jīng)有所了解、想進一步深入學(xué)習(xí)的讀者,英語中稱為“高級初學(xué)者”(advanced beginner),但是也照顧到入門者的需要,從最簡單的開始講起,循序漸進、由淺入深。另一方面,對于中級開發(fā)者,這本書也是有用的,它可以幫你系統(tǒng)地復(fù)習(xí)和鞏固JavaScript語言知識,你會發(fā)現(xiàn)這門語言有許多地方是你以前沒有注意到的。

在寫作風(fēng)格上,力求做到清晰易懂,具有可讀性。所有章節(jié)都帶有大量的代碼實例,這不僅是為了便于理解和模仿,也是為了隨時可以用到實際項目中,做到即學(xué)即用。

由于本書選擇以ECMAScript 5為標準,意味著不支持許多老式瀏覽器,其中最主要的就是IE6-8。如果用一句話來表達,就是本書不支持IE 8。這樣做雖然會喪失一些實用性和兼容性,但是我認為,有利于保持行文的流暢和內(nèi)容的清晰,可以使讀者更好地掌握JavaScript。而且從歷史角度看,堅持書寫符合語言標準的代碼,將在長期中獲得回報。如果你的項目需要支持這些老式瀏覽器,你可能需要檢查用到的每一個語法特性的適用性,找出替代方案。

開源許可

本書采用創(chuàng)意共享“署名—非商業(yè)性使用”許可證(Creative Commons Attribution-NonCommercial license)。所有內(nèi)容不僅可以免費閱讀,還可以自由使用(比如轉(zhuǎn)載),只需遵守兩個條件:

  • 署名:必須保留原作者的署名。

  • 非商業(yè)性使用:除非得到正式許可,否則不得用于商業(yè)目的。

事實上,你還可以得到這本書的源碼。它就放在Github上,歡迎克隆和提交Pull Request。

試驗環(huán)境

本書采用Google的V8引擎作為JavaScript的標準實現(xiàn),所有示例都以V8引擎的運行結(jié)果為準。

閱讀之前,請確認已安裝基于V8引擎的Chrome瀏覽器,它附帶的“開發(fā)者工具”(Developer Tools)就是本書的標準實驗環(huán)境,可以在其中的“控制臺”(console)運行書中的代碼。

進入“控制臺”,有兩種方法。

  • 在Chrome瀏覽器中,直接按Option + Command + J(Mac)或者Ctrl + Shift + J(Windows/Linux)。

  • 從“工具”(Tools)菜單中打開“開發(fā)者工具”,然后點擊Console選項卡?!伴_發(fā)者工具”的快捷鍵是F12,或者Option + Command + I(Mac)以及Ctrl+Shift+I(Windows/Linux)。

進入控制臺以后,就可以在提示符后輸入代碼,然后按Enter鍵,代碼就會執(zhí)行。如果按Shift+Enter鍵,就是代碼換行,不會觸發(fā)執(zhí)行。建議閱讀本書時,將代碼復(fù)制到控制臺進行實驗。

參考書目

本書的寫作過程中,參考了以下書籍(排名不分先后)。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號