W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
我想寫這本書,主要原因是自己需要。
編程時,往往需要查閱資料,確定準確用法。理想的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í)順序編排,這是為了方便查閱。
考慮到這本書有參考手冊的性質(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)載),只需遵守兩個條件:
署名:必須保留原作者的署名。
事實上,你還可以得到這本書的源碼。它就放在Github上,歡迎克隆和提交Pull Request。
本書采用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)。
進入控制臺以后,就可以在提示符后輸入代碼,然后按Enter鍵,代碼就會執(zhí)行。如果按Shift+Enter鍵,就是代碼換行,不會觸發(fā)執(zhí)行。建議閱讀本書時,將代碼復(fù)制到控制臺進行實驗。
本書的寫作過程中,參考了以下書籍(排名不分先后)。
Nicholas C. Zakas, Professional JavaScript for Web Developers, 3 edition, Wrox, 2012
Axel Rauschmayer, The Past, Present, and Future of JavaScript, O'Reilly, 2012
Cody Lindley, JavaScript Enlightenment, O'Reilly, 2012
Cody Lindley, DOM Enlightenment, O'Reilly, 2013
Rebecca Murphey, jQuery Fundamentals, 2011
Aaron Frost, JS.next: A Manager’s Guide, O'Reilly, 2013
John Resig, Bear Bibeault, Secrets of the JavaScript Ninja, Manning, 2012
Eric Elliott, Programming JavaScript Applications, O'Reilly, 2013
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: