前言
這本書的目的是向你介紹如何使用JavaScript語(yǔ)言編程沿盅,最終幫助你成長(zhǎng)為一名JavaScript忍者淋硝。
這是學(xué)習(xí)JavaScript的一個(gè)令人激動(dòng)的時(shí)刻燎悍,JavaScript終于從它早期作為在網(wǎng)頁(yè)上生成令人尷尬的效果的一種初級(jí)語(yǔ)言中蛻變出來。如今臣镣,JavaScript被用來產(chǎn)生專業(yè)的和強(qiáng)大的web應(yīng)用「ㄔ福現(xiàn)代瀏覽器如今能夠以閃電般的速度運(yùn)行JavaScript代碼智亮,Node.js通過JavaScript在其他環(huán)境中的使用,促進(jìn)了JavaScript的變革点待。這致使一種更加快速阔蛉、更加結(jié)構(gòu)化的方法來構(gòu)建JavaScript應(yīng)用。在這種情況下癞埠,JavaScript被認(rèn)為是一種羽翼豐滿的程序語(yǔ)言状原。簡(jiǎn)而言之,JavaScript長(zhǎng)大了苗踪。
JavaScript有若干很酷的特性颠区,這使得它從其他語(yǔ)言中脫穎而出,諸如回調(diào)通铲、處于頭等的函數(shù)毕莱,原型繼承。它的基于事件的模型使得它成為開發(fā)現(xiàn)代web應(yīng)用的非常棒的選擇测暗。JavaScript包中的王牌央串,可是所有編程語(yǔ)言的羨嫉之物:即它的普遍性磨澡。JavaScript幾乎無處不在碗啄;任何一個(gè)有瀏覽器可用的人都可以使用它。并且由于在瀏覽器之外的環(huán)境的可用性越來越高稳摄,它的普遍性每年都在增加稚字。這使得JavaScript的觸角越來越廣:它已經(jīng)成為GitHub上最流行的編程語(yǔ)言。我只能夠預(yù)見到JavaScript在未來變得越來越流行厦酬,隨著它變成物聯(lián)網(wǎng)編程語(yǔ)言的不二選擇:有助于控制家用電器——甚至是機(jī)器人胆描。
在我忘乎所以之前,我仍然要指出JavaScript有很多缺陷仗阅,與完美還差得遠(yuǎn)昌讲。它缺少一些重要的語(yǔ)言特性,比如說模塊和私有函數(shù)减噪,這些特性被很多現(xiàn)代編程語(yǔ)言作為標(biāo)準(zhǔn)短绸。盡管如此,作為一門編程語(yǔ)言筹裕,它靈活得令人難以置信醋闭,很多坑可以利用它提供的工具來彌補(bǔ)。除此之外朝卒,很多庫(kù)已然涌現(xiàn)证逻,這些庫(kù)能夠擴(kuò)展JavaScript的功能,從而JavaScript能夠釋放它全部的潛能抗斤。
這本書從基礎(chǔ)開始囚企,假定讀者沒有編程或者用JavaScript編程的經(jīng)驗(yàn)丈咐,不過馬上就能夠跟上節(jié)奏,以相當(dāng)?shù)纳疃壬婕暗剿兄饕闹黝}洞拨,諸如函數(shù)扯罐、對(duì)象和DOM操作。更高級(jí)的話題諸如錯(cuò)誤處理和測(cè)試烦衣、函數(shù)式編程歹河、和面向?qū)ο缶幊淘诨A(chǔ)介紹隨后給予介紹。近幾年來花吟,在Javascript的世界中有很多令人激動(dòng)的進(jìn)展秸歧,諸如Ajax,HTML5 API衅澈,以及任務(wù)執(zhí)行者键菱。這些內(nèi)容將會(huì)在本書的最后一部分介紹。貫穿本書今布,遍布每章的最后经备,我們還有一個(gè)構(gòu)造智力問答的實(shí)際項(xiàng)目。我是按照現(xiàn)代瀏覽器構(gòu)造這些內(nèi)容的部默。有鑒于此侵蒙,我總是設(shè)法在例子中使用最新的方法。既然提到了這一點(diǎn)傅蹂,如果什么東西在較老的瀏覽器中不能正常工作了纷闺,或者需要變通的方法,我設(shè)法表示道歉份蝴。
前路漫漫犁功,準(zhǔn)確地來說,本書有16章婚夫。但是記住浸卦。每一個(gè)忍者的路途都是從一個(gè)最簡(jiǎn)單的頁(yè)面(或者總之什么類似的東西)開始的。因此案糙,翻開第一頁(yè)讓我們開始吧限嫌!。
誰(shuí)應(yīng)該讀這本書
這本書食欲每一個(gè)初級(jí)的網(wǎng)頁(yè)設(shè)計(jì)師和開發(fā)者侍筛。我們假定你有一些HTML和CSS的的只是萤皂,但是不一定需要你此前的編程經(jīng)驗(yàn)。
使用的慣例
遍布本書匣椰,為了表示不同種類的信息裆熙,你會(huì)注意到我們使用了某種印刷和排版樣式。注意以下項(xiàng)目。
代碼示例
本書中的代碼將會(huì)使用一種定寬字體入录,像這樣:
如果代碼能夠在本書所附的代碼歸檔中找到蛤奥,文件名將會(huì)出現(xiàn)在程序清單的最上面:
如果文件只有一部分顯示出來,我們將會(huì)用關(guān)鍵詞excerpt指出:
如果在一個(gè)已有的例子里加入了額外的代碼僚稿,新的代碼將會(huì)以粗體呈現(xiàn):