- 相關(guān)推薦
學(xué)習(xí)javascript的最佳方法
任務(wù)0:了解什么是JavaScript
在你真正開(kāi)始學(xué)習(xí)JavaScript 之前,花一分鐘了解一下什么是JavaScript,它有哪些功能。 JavaScript不是jQuery、Flash或Java。與它們不同,它是一種獨(dú)立的編程語(yǔ)言。 JavaScript 是瀏覽器語(yǔ)言(盡管現(xiàn)在不完全是)。主要目的是給靜態(tài)頁(yè)面增加交互性。在瀏覽器里,它不會(huì)為你更換PHP或Ruby,也不會(huì)更改你的HTML或CSS;你可以把它們串在一起使用。另外,它沒(méi)有你想的那么難學(xué)。 補(bǔ)充說(shuō)明:你應(yīng)該聽(tīng)過(guò)jQuery,它可能是被使用最廣泛的JavaScript 庫(kù)。也許你還聽(tīng)說(shuō)過(guò)其他比較流行的JavaScript 框架,比如Mootools,,YUI,Dojo 等等?梢詫⑺鼈兘y(tǒng)一看做JavaScript輔助工具集;當(dāng)你使用它們的時(shí)候,你還在寫(xiě)JavaScript,但都是些很抽象的JavaScript。它會(huì)讓你事半功倍。 “你甚至可能聽(tīng)到有人說(shuō),你應(yīng)該先學(xué)jQuery(或其他庫(kù))再學(xué)JavaScript。我很尊重他們但完全不同意這種說(shuō)法。先把JavaScript 學(xué)好再用其他庫(kù),你會(huì)發(fā)現(xiàn)你會(huì)做的更好;結(jié)果就是,你會(huì)編寫(xiě)更好的JavaScript!
任務(wù)1:通過(guò)Codecademy.com站點(diǎn)的課程來(lái)學(xué)習(xí)
Codecademy是一個(gè)相對(duì)較新的網(wǎng)站,其廣告語(yǔ)是“最易學(xué)的編碼方法”。目前,該網(wǎng)站僅有兩個(gè)課程,“初級(jí)編程”和“JavaScript快速入門(mén)指南”。沉浸在JavaScript 中是種不錯(cuò)的體驗(yàn)。跟 Try Ruby 練習(xí)非常相似,你會(huì)學(xué)到簡(jiǎn)短的課程、在瀏覽器里編碼,然后看結(jié)果。得到全部分?jǐn)?shù)、打開(kāi)成就徽章。(Ruby,一種為簡(jiǎn)單快捷的面向?qū)ο缶幊?面向?qū)ο蟪绦蛟O(shè)計(jì))而創(chuàng)的腳本語(yǔ)言。) 如果你已熟悉了另一種編程語(yǔ)言,你也許可以先學(xué)“JavaScript快速入門(mén)指南”;如果這是您第一次編程(HTML和CSS除外),你會(huì)發(fā)現(xiàn)“初級(jí)編程”課程相當(dāng)有用。Codecademy是一家免費(fèi)網(wǎng)站,但需要注冊(cè)。
任務(wù)2:appendTo 截屏方法
appendTo 視頻有一套特別適合初學(xué)者的截屏方法。 如果你想用正確(容易)的方法學(xué)習(xí)
JavaScript,學(xué)習(xí)這些課程絕對(duì)管用。視覺(jué)訓(xùn)練總是有效的! “用我們提供的點(diǎn)播內(nèi)容、務(wù)實(shí)的訓(xùn)練解決方案來(lái)提升自己的技能。無(wú)需注冊(cè)、無(wú)需綁定、絕不忽悠!
任務(wù)3:閱讀一本好的關(guān)于JavaScript 的說(shuō)明書(shū)
一旦你通過(guò)Codecademy上的課程來(lái)學(xué)習(xí),你就會(huì)想搞到一本關(guān)于JavaScript的詳細(xì)說(shuō)明書(shū)–介紹所有的類型、運(yùn)算符、控件架構(gòu)等等。 如果可以的話,我來(lái)介紹幾個(gè)好的說(shuō)明書(shū): 《再說(shuō)JavaScript》 – 這本說(shuō)明書(shū)可在Mozilla開(kāi)發(fā)者網(wǎng)絡(luò)上找到,語(yǔ)言公正。這本書(shū)內(nèi)容很豐富,有很多代碼實(shí)例和文段介紹。 《Eloquent JavaScript》 – 該書(shū)由Marijn Haverbeke 編寫(xiě),可免費(fèi)在線閱讀,如果你想弄個(gè)硬拷貝可以上亞馬遜網(wǎng)站購(gòu)買。它比MDN說(shuō)明更詳細(xì),因?yàn)樗粌H涵蓋了JavaScript 語(yǔ)言,而且包括編碼風(fēng)格以及在瀏覽器里使用JavaScript。當(dāng)然,“eloquent”并非言過(guò)其實(shí)。(eloquent - 雄辯的、口若懸河的) 《Getting Good with JavaScript》 – 沒(méi)錯(cuò),這本書(shū)是我寫(xiě)的,但是我介紹這本書(shū)是另有原因的。它跟我在前面介紹的兩本說(shuō)明不同;在這本書(shū)里我只介紹了編程人員快速掌握編程技巧所需要的部分。此外,它還附帶超過(guò)6個(gè)小時(shí)的截屏視頻,因此,想要就去看看吧。(當(dāng)然,這本不是免費(fèi)的。)
任務(wù)4:安裝、學(xué)習(xí)Firebug(或開(kāi)發(fā)人員工具)
一旦你開(kāi)始在瀏覽器里使用JavaScript,就需要安裝Firebug并熟悉它的性能。Firebug是一款用于Firefox的插件,它能幫你創(chuàng)建和調(diào)試網(wǎng)頁(yè):對(duì)網(wǎng)頁(yè)開(kāi)發(fā)者來(lái)說(shuō),它就像外科醫(yī)生的‘手術(shù)刀’。如果你不用Firefox?喜歡Safari 或者Chrome怎么辦?沒(méi)問(wèn)題:可以查找類似Firebug的內(nèi)置開(kāi)發(fā)人員工具。 “你可以在Mac地址欄里按選項(xiàng)+命令+I 或者按快捷鍵Control + Shift + I ,來(lái)打開(kāi)設(shè)計(jì)工具面板。” 通過(guò)打開(kāi)你選的工具,只需在你喜歡的其中一個(gè)網(wǎng)站上點(diǎn)擊點(diǎn)擊,你就會(huì)學(xué)到很多東西。這里有一些能加速你學(xué)習(xí)的資源:FirebugFirebug網(wǎng)站和維基百科Firebug的CSS-技巧說(shuō)明你應(yīng)該在Nettuts+上使用Firebug的10大理由。Firebug:從白帶到黑帶,Tuts+ Marketplace 網(wǎng)站
(http://marketplace.tutsplus.com/item/firebug-white-to-black-belt/118795)設(shè)計(jì)工具設(shè)計(jì)工具網(wǎng)站Google I/O 2011:由Paul Irish重組的瀏覽器設(shè)計(jì)工具Google 瀏覽器設(shè)計(jì)工具:Paul Irish 的快速開(kāi)發(fā)12技巧
任務(wù)5:讀一本有關(guān)JavaScript的書(shū)籍
現(xiàn)在你已經(jīng)熟悉了些基礎(chǔ)知識(shí),但是還有很多東西要學(xué)。盡管我推薦的一些書(shū)可能會(huì)讓你‘破產(chǎn)’,但你會(huì)發(fā)現(xiàn)任何時(shí)候我都會(huì)推薦4本高質(zhì)量的書(shū): 前兩本是一般的、較深入的JavaScript 資源,它們會(huì)讓你從簡(jiǎn)介到較深層次逐步理解;當(dāng)然,簡(jiǎn)介里會(huì)有一些重疊的說(shuō)明,但不多:剛好讓你看起來(lái)很舒服。(注:雖然這些書(shū)在亞馬遜網(wǎng)站能買到,我已經(jīng)鏈接了出版商的網(wǎng)站,因此,你能看看范例章節(jié)。) 《JavaScript高級(jí)程序設(shè)計(jì)》- Nicolas C. Zakas 編寫(xiě),這本書(shū)涵蓋了它能涵蓋的所有內(nèi)容。如果你以前看過(guò)Zakas的任何作品,你會(huì)發(fā)現(xiàn)他是個(gè)不折不扣的天才。除了涵蓋了JavaScript語(yǔ)言,這本書(shū)還能讓您在瀏覽器里很好的使用JavaScript。 《JavaScript 24-hour Trainer 》由Jeremy McPeak 編撰,該作者也寫(xiě)過(guò)Nettuts+。它不僅僅是一本書(shū):還附帶了一張長(zhǎng)達(dá)四小時(shí)的教學(xué)光碟。全書(shū)共43節(jié)課,涉及編碼句法指導(dǎo)和代碼優(yōu)化。 雖然這些書(shū)非常適合編程人員學(xué)習(xí)JavaScript語(yǔ)言以及如何在瀏覽器中使用這些語(yǔ)言,但是學(xué)無(wú)止境。雖然這些書(shū)的確進(jìn)入了一些模式和實(shí)練中,我再推薦兩本我認(rèn)為有用的書(shū)。1)《JavaScript Patterns 》-
Stoyan Stefanov著。我也是剛剛讀完這本書(shū),我真希望能盡快讀完它。在讀過(guò)上面的資源之后,你可以學(xué)到如何編寫(xiě)JavaScript,但是這本書(shū)會(huì)教你如何對(duì)資源進(jìn)行重組,這項(xiàng)技能很重要,并非如你想象般簡(jiǎn)單。2)《JavaScript:The Good Parts 》- Douglas Crockford 著。該書(shū)介紹了JavaScript的優(yōu)缺點(diǎn)。
任務(wù)6:做些事情!
在學(xué)習(xí)完上述資源后,你應(yīng)該已經(jīng)嘗試了一些代碼樣本:修改代碼、整合代碼看看會(huì)怎么樣。但是是時(shí)候讓自己休息一下,做點(diǎn)東西出來(lái)了。 你能做什么呢?你能做很多東西。這里有一些意見(jiàn)。
1) 圖片庫(kù):顯示一套圖片縮略圖和主圖。當(dāng)用戶點(diǎn)擊縮略圖的時(shí)候,要用較大的縮略圖(不是原縮略圖)替代當(dāng)前的主圖。如果你能覆蓋縮略圖alt 標(biāo)記的標(biāo)題就獎(jiǎng)勵(lì)積分,或是在用戶一分鐘內(nèi)未點(diǎn)擊的時(shí)候進(jìn)行圖片循環(huán)。
2) 待辦列表:聽(tīng)起來(lái)有點(diǎn)難,我也不打算推薦你制作一個(gè)完整的待辦列表。只需要做一個(gè)文本框并在其旁放上按鈕;點(diǎn)擊按鈕的時(shí)候,已輸入的文字會(huì)在一個(gè)無(wú)序列表下面變成一個(gè)項(xiàng)目。點(diǎn)擊列表項(xiàng)目便可移除。這聽(tīng)起來(lái)很容易,但有幾個(gè)陷阱,對(duì)初學(xué)者來(lái)說(shuō)仔細(xì)想想還是很有好處的。
3) 動(dòng)畫(huà)框:動(dòng)畫(huà)其實(shí)是小把戲而已,并不需要弄得太復(fù)雜。做一個(gè)包含了少許文本的div,其上要有若干按鈕。一個(gè)按鈕用來(lái)調(diào)整寬度,一個(gè)用來(lái)調(diào)整高度;還有一個(gè)用來(lái)調(diào)整背景顏色。關(guān)鍵是不要讓更改發(fā)生得太快,但在一秒鐘之內(nèi)。記住,Google 是你的朋友,特別是如果迄今為止你還未用JavaScript做任何動(dòng)畫(huà)的話。 我相信你能想到其他的很好的練習(xí)的計(jì)劃。當(dāng)然,學(xué)習(xí)的唯一方法是把自己從安樂(lè)窩里拽出來(lái)!按送,在所有的技能水平上,確保JavaScript 類別在Nettuts+上有大量教程列表!(Nettuts是一個(gè)專注于提供網(wǎng)絡(luò)開(kāi)發(fā)教程的網(wǎng)站。)
任務(wù)7:開(kāi)始學(xué)習(xí)如何使用JavaScript庫(kù)
如果你學(xué)到了這個(gè)地步,就會(huì)意識(shí)到有些JavaScript 編寫(xiě)任務(wù)很難(或根本不能)通過(guò)跨瀏覽器的方式實(shí)現(xiàn)。最可能違規(guī)的便是過(guò)量的DOM操作,AJAX和動(dòng)畫(huà)。這也就是為什么我們需要JavaScript 庫(kù)的原因。 正如我前面提到的,一個(gè)JavaScript 庫(kù)的詳細(xì)內(nèi)容猶如減輕痛苦的蜜糖。因此,現(xiàn)在有必要來(lái)看一下。這里有大量庫(kù)供你選擇,我會(huì)讓你自己決定從哪個(gè)開(kāi)始。無(wú)論是jQuery 還是Mootools,YUI 還是Dojo,它們各自的網(wǎng)站會(huì)為你提供開(kāi)始學(xué)習(xí)時(shí)你所需要的一切信息。如果你覺(jué)得用得著就來(lái)試試吧。
【學(xué)習(xí)javascript的最佳方法】相關(guān)文章:
JavaScript常用方法匯總10-25
javascript編程異常處理的方法08-04
JavaScript fontcolor方法入門(mén)實(shí)例07-07
使用ajax操作JavaScript對(duì)象的方法09-28
詳解JavaScript中的splice()使用方法08-20