W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
我想寫(xiě)這本書(shū),主要原因是自己需要。
編程時(shí),往往需要查閱資料,確定準(zhǔn)確用法。理想的JavaScript參考書(shū),應(yīng)該簡(jiǎn)明易懂,一目了然,告訴我有哪些注意點(diǎn),提供代碼范例。涉及重要概念,還應(yīng)該適當(dāng)講解??墒谴蠖鄶?shù)時(shí)候,現(xiàn)實(shí)都不是如此。找到的資料冗長(zhǎng)難懂,抓不住重點(diǎn),有時(shí)還很陳舊,跟不上語(yǔ)言標(biāo)準(zhǔn)和瀏覽器的快速發(fā)展,且大多數(shù)是英文資料。
學(xué)習(xí)過(guò)程中,我做了很多JavaScript筆記。多年累積,數(shù)量相當(dāng)龐大。遇到問(wèn)題,我首先查自己的筆記,如果筆記里沒(méi)有,再到網(wǎng)上查,最后回過(guò)頭把筆記補(bǔ)全。終于有一天,我意識(shí)到可以把筆記做成書(shū),這就是這本教程的由來(lái)。
我是為自己寫(xiě)這本書(shū)的,我想用自己的語(yǔ)言敘述JavaScript,按照自己的方式編排章節(jié),便于將來(lái)的查閱。當(dāng)然,另一個(gè)寫(xiě)作動(dòng)力是覺(jué)得這些內(nèi)容對(duì)他人有用,畢竟我花了那么多時(shí)間,整理成書(shū)可以節(jié)省其他人的時(shí)間。
正因?yàn)槊撎ビ诠P記,這本書(shū)跟其他JavaScript書(shū)籍有所不同。
它有點(diǎn)像教程,包含重要概念的簡(jiǎn)潔講解,努力把復(fù)雜的問(wèn)題講得簡(jiǎn)單,希望一兩分鐘內(nèi)就能抓住重點(diǎn)。
它又有點(diǎn)像參考手冊(cè),羅列主要用法和各種API接口,并給出可以立即運(yùn)行的代碼。所有章節(jié)按主題編排,不完全按照由淺入深的學(xué)習(xí)順序編排,這是為了方便查閱。
考慮到這本書(shū)有參考手冊(cè)的性質(zhì),所以書(shū)名加了“參考”(reference)兩個(gè)字。至于書(shū)名中的“標(biāo)準(zhǔn)”,指的是全書(shū)以JavaScript的國(guó)際標(biāo)準(zhǔn)(standard)為依據(jù)。
本書(shū)主要針對(duì)Web前端開(kāi)發(fā),以ECMAScript 5作為標(biāo)準(zhǔn),目標(biāo)是所講的內(nèi)容在實(shí)際開(kāi)發(fā)之中基本夠用,力求5-10年之內(nèi)不會(huì)過(guò)時(shí)。
全書(shū)的內(nèi)容比較廣泛,只要是實(shí)戰(zhàn)中用得到的東西都有涉及(核心語(yǔ)法、標(biāo)準(zhǔn)庫(kù)、DOM、瀏覽器模型、外部代碼庫(kù)、開(kāi)發(fā)工具等等)。全書(shū)的難度為中級(jí),比較適合對(duì)JavaScript已經(jīng)有所了解、想進(jìn)一步深入學(xué)習(xí)的讀者,英語(yǔ)中稱為“高級(jí)初學(xué)者”(advanced beginner),但是也照顧到入門(mén)者的需要,從最簡(jiǎn)單的開(kāi)始講起,循序漸進(jìn)、由淺入深。另一方面,對(duì)于中級(jí)開(kāi)發(fā)者,這本書(shū)也是有用的,它可以幫你系統(tǒng)地復(fù)習(xí)和鞏固JavaScript語(yǔ)言知識(shí),你會(huì)發(fā)現(xiàn)這門(mén)語(yǔ)言有許多地方是你以前沒(méi)有注意到的。
在寫(xiě)作風(fēng)格上,力求做到清晰易懂,具有可讀性。所有章節(jié)都帶有大量的代碼實(shí)例,這不僅是為了便于理解和模仿,也是為了隨時(shí)可以用到實(shí)際項(xiàng)目中,做到即學(xué)即用。
由于本書(shū)選擇以ECMAScript 5為標(biāo)準(zhǔn),意味著不支持許多老式瀏覽器,其中最主要的就是IE6-8。如果用一句話來(lái)表達(dá),就是本書(shū)不支持IE 8。這樣做雖然會(huì)喪失一些實(shí)用性和兼容性,但是我認(rèn)為,有利于保持行文的流暢和內(nèi)容的清晰,可以使讀者更好地掌握J(rèn)avaScript。而且從歷史角度看,堅(jiān)持書(shū)寫(xiě)符合語(yǔ)言標(biāo)準(zhǔn)的代碼,將在長(zhǎng)期中獲得回報(bào)。如果你的項(xiàng)目需要支持這些老式瀏覽器,你可能需要檢查用到的每一個(gè)語(yǔ)法特性的適用性,找出替代方案。
本書(shū)采用創(chuàng)意共享“署名—非商業(yè)性使用”許可證(Creative Commons Attribution-NonCommercial license)。所有內(nèi)容不僅可以免費(fèi)閱讀,還可以自由使用(比如轉(zhuǎn)載),只需遵守兩個(gè)條件:
署名:必須保留原作者的署名。
事實(shí)上,你還可以得到這本書(shū)的源碼。它就放在Github上,歡迎克隆和提交Pull Request。
本書(shū)采用Google的V8引擎作為JavaScript的標(biāo)準(zhǔn)實(shí)現(xiàn),所有示例都以V8引擎的運(yùn)行結(jié)果為準(zhǔn)。
閱讀之前,請(qǐng)確認(rèn)已安裝基于V8引擎的Chrome瀏覽器,它附帶的“開(kāi)發(fā)者工具”(Developer Tools)就是本書(shū)的標(biāo)準(zhǔn)實(shí)驗(yàn)環(huán)境,可以在其中的“控制臺(tái)”(console)運(yùn)行書(shū)中的代碼。
進(jìn)入“控制臺(tái)”,有兩種方法。
在Chrome瀏覽器中,直接按Option + Command + J(Mac)或者Ctrl + Shift + J(Windows/Linux)。
進(jìn)入控制臺(tái)以后,就可以在提示符后輸入代碼,然后按Enter鍵,代碼就會(huì)執(zhí)行。如果按Shift+Enter鍵,就是代碼換行,不會(huì)觸發(fā)執(zhí)行。建議閱讀本書(shū)時(shí),將代碼復(fù)制到控制臺(tái)進(jìn)行實(shí)驗(yàn)。
本書(shū)的寫(xiě)作過(guò)程中,參考了以下書(shū)籍(排名不分先后)。
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號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: