學習JavaScript的最佳方法分享
創(chuàng)新互聯(lián)建站專注于牙克石網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供牙克石營銷型網(wǎng)站建設(shè),牙克石網(wǎng)站制作、牙克石網(wǎng)頁設(shè)計、牙克石網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造牙克石網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供牙克石網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
學習新的東西是件可怕的事。對我來說,掌握一項新技能最大的問題是,我不知道自己懂什么。鑒于此,定個計劃,學習你感興趣的東西應(yīng)該會有用。這篇文章的主旨就是:你為學習JavaScript 制定的藍圖、路線、行動計劃!你不必擔心找不到最好的資源,先整理些好的資源,再確定下一步該學什么。遵循它,一步一步來。
任務(wù)0:了解什么是JavaScript
在你真正開始學習JavaScript 之前,花一分鐘了解一下什么是JavaScript,它有哪些功能。 JavaScript不是jQuery、Flash或Java。與它們不同,它是一種獨立的編程語言。 JavaScript 是瀏覽器語言(盡管現(xiàn)在不完全是)。主要目的是給靜態(tài)頁面增加交互性。在瀏覽器里,它不會為你更換PHP或Ruby,也不會更改你的HTML或CSS;你可以把它們串在一起使用。另外,它沒有你想的那么難學。 補充說明:你應(yīng)該聽過jQuery,它可能是被使用最廣泛的JavaScript 庫。也許你還聽說過其他比較流行的JavaScript 框架,比如Mootools,,YUI,Dojo 等等??梢詫⑺鼈兘y(tǒng)一看做JavaScript輔助工具集;當你使用它們的時候,你還在寫JavaScript,但都是些很抽象的JavaScript。它會讓你事半功倍。 “你甚至可能聽到有人說,你應(yīng)該先學jQuery(或其他庫)再學JavaScript。我很尊重他們但完全不同意這種說法。先把JavaScript 學好再用其他庫,你會發(fā)現(xiàn)你會做的更好;結(jié)果就是,你會編寫更好的JavaScript?!?/p>
任務(wù)1:通過Codecademy.com站點的課程來學習
Codecademy是一個相對較新的網(wǎng)站,其廣告語是“最易學的編碼方法”。目前,該網(wǎng)站僅有兩個課程,“初級編程”和“JavaScript快速入門指南”。沉浸在JavaScript 中是種不錯的體驗。跟 Try Ruby 練習非常相似,你會學到簡短的課程、在瀏覽器里編碼,然后看結(jié)果。得到全部分數(shù)、打開成就徽章。(Ruby,一種為簡單快捷的面向?qū)ο缶幊?面向?qū)ο蟪绦蛟O(shè)計)而創(chuàng)的腳本語言。) 如果你已熟悉了另一種編程語言,你也許可以先學“JavaScript快速入門指南”;如果這是您第一次編程(HTML和CSS除外),你會發(fā)現(xiàn)“初級編程”課程相當有用。Codecademy是一家免費網(wǎng)站,但需要注冊。
任務(wù)2:appendTo 截屏方法
appendTo 視頻有一套特別適合初學者的截屏方法。 如果你想用正確(容易)的方法學習JavaScript,學習這些課程絕對管用。視覺訓練總是有效的! “用我們提供的點播內(nèi)容、務(wù)實的訓練解決方案來提升自己的技能。無需注冊、無需綁定、絕不忽悠。”
任務(wù)3:閱讀一本好的關(guān)于JavaScript 的說明書
一旦你通過Codecademy上的課程來學習,你就會想搞到一本關(guān)于JavaScript的詳細說明書–介紹所有的類型、運算符、控件架構(gòu)等等。 如果可以的話,我來介紹幾個好的說明書: 《再說JavaScript》 – 這本說明書可在Mozilla開發(fā)者網(wǎng)絡(luò)上找到,語言公正。這本書內(nèi)容很豐富,有很多代碼實例和文段介紹。 《Eloquent JavaScript》 – 該書由Marijn Haverbeke 編寫,可免費在線閱讀,如果你想弄個硬拷貝可以上亞馬遜網(wǎng)站購買。它比MDN說明更詳細,因為它不僅涵蓋了JavaScript 語言,而且包括編碼風格以及在瀏覽器里使用JavaScript。當然,“eloquent”并非言過其實。(eloquent - 雄辯的、口若懸河的) 《Getting Good with JavaScript》 – 沒錯,這本書是我寫的,但是我介紹這本書是另有原因的。它跟我在前面介紹的兩本說明不同;在這本書里我只介紹了編程人員快速掌握編程技巧所需要的部分。此外,它還附帶超過6個小時的截屏視頻,因此,想要就去看看吧。(當然,這本不是免費的。)
任務(wù)4:安裝、學習Firebug(或開發(fā)人員工具)
一旦你開始在瀏覽器里使用JavaScript,就需要安裝Firebug并熟悉它的性能。Firebug是一款用于Firefox的插件,它能幫你創(chuàng)建和調(diào)試網(wǎng)頁:對網(wǎng)頁開發(fā)者來說,它就像外科醫(yī)生的‘手術(shù)刀'。如果你不用Firefox?喜歡Safari 或者Chrome怎么辦?沒問題:可以查找類似Firebug的內(nèi)置開發(fā)人員工具。 “你可以在Mac地址欄里按選項+命令+I 或者按快捷鍵Control + Shift + I ,來打開設(shè)計工具面板?!?通過打開你選的工具,只需在你喜歡的其中一個網(wǎng)站上點擊點擊,你就會學到很多東西。這里有一些能加速你學習的資源:FirebugFirebug網(wǎng)站和維基百科Firebug的CSS-技巧說明你應(yīng)該在Nettuts+上使用Firebug的10大理由。Firebug:從白帶到黑帶,Tuts+ Marketplace 網(wǎng)站()設(shè)計工具設(shè)計工具網(wǎng)站Google I/O 2011:由Paul Irish重組的瀏覽器設(shè)計工具Google 瀏覽器設(shè)計工具:Paul Irish 的快速開發(fā)12技巧
任務(wù)5:讀一本有關(guān)JavaScript的書籍
現(xiàn)在你已經(jīng)熟悉了些基礎(chǔ)知識,但是還有很多東西要學。盡管我推薦的一些書可能會讓你‘破產(chǎn)',但你會發(fā)現(xiàn)任何時候我都會推薦4本高質(zhì)量的書:
前兩本是一般的、較深入的JavaScript 資源,它們會讓你從簡介到較深層次逐步理解;當然,簡介里會有一些重疊的說明,但不多:剛好讓你看起來很舒服。(注:雖然這些書在亞馬遜網(wǎng)站能買到,我已經(jīng)鏈接了出版商的網(wǎng)站,因此,你能看看范例章節(jié)。) 《JavaScript高級程序設(shè)計》- Nicolas C. Zakas 編寫,這本書涵蓋了它能涵蓋的所有內(nèi)容。如果你以前看過Zakas的任何作品,你會發(fā)現(xiàn)他是個不折不扣的天才。除了涵蓋了JavaScript語言,這本書還能讓您在瀏覽器里很好的使用JavaScript。 《JavaScript 24-hour Trainer 》由Jeremy McPeak 編撰,該作者也寫過Nettuts+。它不僅僅是一本書:還附帶了一張長達四小時的教學光碟。全書共43節(jié)課,涉及編碼句法指導和代碼優(yōu)化。 雖然這些書非常適合編程人員學習JavaScript語言以及如何在瀏覽器中使用這些語言,但是學無止境。雖然這些書的確進入了一些模式和實練中,我再推薦兩本我認為有用的書。1)《JavaScript Patterns 》- Stoyan Stefanov著。我也是剛剛讀完這本書,我真希望能盡快讀完它。在讀過上面的資源之后,你可以學到如何編寫JavaScript,但是這本書會教你如何對資源進行重組,這項技能很重要,并非如你想象般簡單。2)《JavaScript:The Good Parts 》- Douglas Crockford 著。該書介紹了JavaScript的優(yōu)缺點。
任務(wù)6:做些事情!
在學習完上述資源后,你應(yīng)該已經(jīng)嘗試了一些代碼樣本:修改代碼、整合代碼看看會怎么樣。但是是時候讓自己休息一下,做點東西出來了。 你能做什么呢?你能做很多東西。這里有一些意見。1) 圖片庫:顯示一套圖片縮略圖和主圖。當用戶點擊縮略圖的時候,要用較大的縮略圖(不是原縮略圖)替代當前的主圖。如果你能覆蓋縮略圖alt 標記的標題就獎勵積分,或是在用戶一分鐘內(nèi)未點擊的時候進行圖片循環(huán)。2) 待辦列表:聽起來有點難,我也不打算推薦你制作一個完整的待辦列表。只需要做一個文本框并在其旁放上按鈕;點擊按鈕的時候,已輸入的文字會在一個無序列表下面變成一個項目。點擊列表項目便可移除。這聽起來很容易,但有幾個陷阱,對初學者來說仔細想想還是很有好處的。3) 動畫框:動畫其實是小把戲而已,并不需要弄得太復(fù)雜。做一個包含了少許文本的div,其上要有若干按鈕。一個按鈕用來調(diào)整寬度,一個用來調(diào)整高度;還有一個用來調(diào)整背景顏色。關(guān)鍵是不要讓更改發(fā)生得太快,但在一秒鐘之內(nèi)。記住,Google 是你的朋友,特別是如果迄今為止你還未用JavaScript做任何動畫的話。 我相信你能想到其他的很好的練習的計劃。當然,學習的唯一方法是把自己從安樂窩里拽出來?!按送?,在所有的技能水平上,確保JavaScript 類別在Nettuts+上有大量教程列表。”(Nettuts是一個專注于提供網(wǎng)絡(luò)開發(fā)教程的網(wǎng)站。)
任務(wù)7:開始學習如何使用JavaScript庫
如果你學到了這個地步,就會意識到有些JavaScript 編寫任務(wù)很難(或根本不能)通過跨瀏覽器的方式實現(xiàn)。最可能違規(guī)的便是過量的DOM操作,AJAX和動畫。這也就是為什么我們需要JavaScript 庫的原因。 正如我前面提到的,一個JavaScript 庫的詳細內(nèi)容猶如減輕痛苦的蜜糖。因此,現(xiàn)在有必要來看一下。這里有大量庫供你選擇,我會讓你自己決定從哪個開始。無論是jQuery 還是Mootools,YUI 還是Dojo,它們各自的網(wǎng)站會為你提供開始學習時你所需要的一切信息。如果你覺得用得著就來試試吧。 最流行的庫: 雖然很容易得到大量的庫,你還是應(yīng)該選一個受歡迎的– 至少排名第一。 jQuery Dojo YUI MooTools Prototype
任務(wù)8:緊隨大師的步伐
有很多令人難以置信的JavaScript 天才,他們一直在做些很酷的東西,你一定不想錯過。值得慶幸的是,我們的工作狂Siddharth 副主編已經(jīng)搞到一份33名設(shè)計人員列表,要想成為一名JavaScript 發(fā)燒友你就必須訂閱它。扔下手頭的工作,訂閱/跟隨這些設(shè)計人員。這是必須要做的。 但是,你還能做更多事情。這個公平網(wǎng)站經(jīng)常發(fā)布關(guān)于JavaScript 的信息,所以不要走開。此外,關(guān)注JavaScript Show ,一檔全世界關(guān)于JavaScript最新最大的播客。你可能還想注冊JavaScript電子周刊簡訊。 還想要更多嗎?關(guān)注Tuts+Marketplace 的JavaScript 類。
js并不難學。
Js給人那種感覺的原因多半是因為它如下的特點:
A:本身知識很抽象、晦澀難懂,如:閉包、內(nèi)置對象、DOM。
B:本身內(nèi)容很多,如函數(shù)庫、對象庫就一大堆。
C:混合多種編程思想。它里面不但牽涉面向過程編程思想,又有面向?qū)ο缶幊趟枷耄瑫r,它的面向?qū)ο筮€和別的編程語言(如:C++,JAVA,PHP)不大一樣。就好像又是新的一樣,讓你對曾經(jīng)學的面向?qū)ο螽a(chǎn)生了懷疑......
D:辛苦學習后又看似和實際應(yīng)用脫節(jié)。通常學了很久的js基礎(chǔ)之后,變量、函數(shù)、對象你也都略知一二,但一到公司開發(fā)項目的時候,卻又難以下手。因為公司在開發(fā)實際項目的時候通常都是直接用它的衍生庫,如:jquery,angular,boostrap,amaze,layui,ueditor等,而這些庫又多如牛毛,同時還有自己的難點。讓你都不知道該學哪個好,甚至都懷疑自己學的是不是js了,好像有多個版本的js一樣,總是學不完......
那么,怎么才能在js領(lǐng)域內(nèi)學的輕松甚至游刃有余呢?我總結(jié)了一些實戰(zhàn)意義的js學習經(jīng)驗:
1.首先要緊緊抓住它的地位
時刻都不能忘記,否則很容易犯“一葉障目不見泰山”的錯誤。不要學了很久就知道js是編程語言,就是寫代碼,而且特點就是亂七八糟就完了,那樣是學不好js的。要時時抓住它的地位,確切的說是它在整個Web中的地位:它屬于前端的核心,主要用來操控和重新調(diào)整DOM,通過修改DOM結(jié)構(gòu),從而來達到修改頁面效果的目的。要用這個中心思想去指導后續(xù)的一切js的學習,并且形成條件反射。
2.要有一條清晰的學習路線
這個只能是過來人給你提供參考了。我的學習路線如下:
A:js基礎(chǔ)部分,如:定義變量、函數(shù)、數(shù)組、字符串等的處理,內(nèi)置函數(shù)、內(nèi)置對象等;
B:js面向過程編程思想,封裝出各個函數(shù),試著用這些去做一些常見的小功能,如:選項卡、自定義多選按鈕、自定義播放器、3D幻燈片;
C:js面向?qū)ο缶幊趟枷耄囍シ庋b一些你自己的對象,提供出有意義的接口出來;
D:學了上述的內(nèi)容,然后學常用的庫,這里必須學jquery;
E:學基于jquery之上的常見插件,如:bootstrap,Layer,富文本編輯器等;
F:綜合應(yīng)用上面的多種庫寫實際項目的模板,多寫幾套。
3.從多角度去學習和領(lǐng)悟
充分調(diào)動你所學的東西,從多角度去做某一功能,如:以前你是從面向過程角度做的,現(xiàn)在改為從面向?qū)ο蟮慕嵌仍賮碜?,或者繼續(xù)做成可以直接使用的插件,提供屬性、方法等出來。爭取讓你做的這個功能逐漸能使用到實際項目中來。這樣的好處:既綜合應(yīng)用了你的所學,又能有實際意義。
4.注意培養(yǎng)信心
此時的你,不適合一來就看很復(fù)雜很炫的網(wǎng)頁效果的源代碼,也不適合一來就學jquery,angular,vue,bootstrap這些東西。這些內(nèi)容包含了很多深奧的知識在里面,在沒有任何基礎(chǔ)的情況下直接學這些,會嚴重打擊你的自信心。而此時你是弱小的,你需要的是培養(yǎng)信心,而不是反過來,否則結(jié)局很可能是“夭折”,離學有所成也就遙遙無期了。
5. 多寫總結(jié)
這種總結(jié)不但包括源代碼、顯示效果截圖,還應(yīng)該很容易犯的錯誤和對應(yīng)的解決方法以及最后一兩句精簡的結(jié)論性語句。對自己寫的總結(jié)不是寫完了就了事了,要多回顧、多改進、多精簡。到做項目的時候,應(yīng)該是看里面的一兩句話就知道是講什么了,而不要再去看長篇大論了。
6.構(gòu)建知識導圖
這個可以讓你越學越清晰,你可以按你喜歡的任何形式去做,只要自己印象深刻就行。
注意:知識導圖也應(yīng)該是經(jīng)常修改、修正,讓它更合理、更清晰。
學習編程知識,就來北京尚學堂,優(yōu)秀的師資和多年的編程教育經(jīng)驗,會讓你在學習的道路上快人一步。
javascript是用在網(wǎng)頁中的,所以會設(shè)計到一些網(wǎng)頁代碼——也就是HTML語言,
另外,JavaScript本身還有自己的語法,也就是和一般編程語言的基本語法差不多。JavaScript的語法應(yīng)該是java語言的簡化。另外java寫出的代碼和C語言寫出的代碼也是挺像的。
js的作用主要有這么幾個:
表單驗證:網(wǎng)頁上,用戶輸入的信息需要進行驗證,在客戶端驗證,可以減少對服務(wù)器端的壓力。所以,應(yīng)該把握正則表達式方面的知識。
網(wǎng)頁特效:頁面上很多特效是非常好的,能產(chǎn)生很好的用戶體驗,所以需要把握好dom方面的知識。
數(shù)據(jù)傳輸:客戶端與服務(wù)器端的數(shù)據(jù)交互,這個就是Ajax技術(shù)。
javascript本身也是一門比較有難度的語言,類C的一種語言,但是,作為一名程序員,只需要把握一些常用的技術(shù),就是上面列舉的那些方面。圍繞這些方面,結(jié)合當今開發(fā)的常用技術(shù)學習就可以了。
今天小編要跟大家分享的文章是關(guān)于零基礎(chǔ)學Web前端的學習路線總結(jié),準備學習web前端知識的小伙伴們來和小編一起看一看吧,希望本篇文章能夠?qū)Υ蠹矣兴鶐椭?/p>
第一個階段:
1、HTML+CSS:HTML進階、CSS進階、div+css布局、HTML+css整站開發(fā)。
2、JavaScript基礎(chǔ):Js基礎(chǔ)教程、js內(nèi)置對象常用方法、常見DOM操作、ECMAscript、DOM、BOM、定時器和焦點圖。
3、JS基本特效:常見特效、例如:tab、導航、整頁滾動、輪播圖、JS制作幻燈片、彈出層、手風琴菜單、瀑布流布局、滾動事件、滾差視圖。
4、JS高級特征:正則表達式、排序算法、遞歸算法、閉包、函數(shù)節(jié)流、作用域鏈、基于距離運動框架、面向?qū)ο蠡A(chǔ)。
5、JQuery:懸著器、DOM操作、特效和動畫、方法鏈、拖拽、變形、JQueryUI組件基本使用。
第二個階段:
1、HTML5:HTML5新語義標簽、HTML5表單、音頻和視頻、離線和本地存儲、SVG、WebSocket、Canvas。
2、CSS3:CSS3新選擇器、偽元素、臉色表示法、邊框、陰影、background系列屬性改變、Transition、動畫、景深和深透、3D效果制作、Velocity.js框架、元素進場、出場策略、炫酷CSS3網(wǎng)頁制作。
3、Bootstrap:響應(yīng)式概念、媒體查詢、響應(yīng)式網(wǎng)站制作、刪格系統(tǒng)、刪格系統(tǒng)原理、Bootstrap常用模板、LESS和SASS。
4、移動Web開發(fā):跨終端WEB和主流設(shè)備簡介、視口、流式布局、彈性盒子、rem、移動終端JavaScript事件、手機中常見JS效果制作、Zepto.js、手機聚劃算頁面、手機滾屏。
第三個階段:
1、WEB服務(wù)器基礎(chǔ):服務(wù)器基礎(chǔ)知識、Apache服務(wù)器和其他WEB服務(wù)器介紹、Apache服務(wù)器搭建、HTTP介紹。
2、PHP基礎(chǔ):PHP基礎(chǔ)語法、使用PHP處理簡單的GET或者POST請求。
3、AJAX:Ajax簡介和異步的概念、Ajax框架的封裝、XMLHttpRequest對象詳細介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用。JSON和JSON解析、數(shù)據(jù)綁定和模板技術(shù)、JSONP、跨域技術(shù)、圖片預(yù)讀取和lazy-load技術(shù)、JQuery框架中的AjaxAPI、使用Ajax實現(xiàn)爆布流案例額。
第四個階段:
面向?qū)ο螅簭膬?nèi)存角度到理解JS面向?qū)ο蟆⒒绢愋?、?fù)雜類型、原型鏈、ES6中的面向?qū)ο蟆傩宰x寫權(quán)限、設(shè)置器、訪問器。
第五個階段:
1、框架封裝基礎(chǔ):事件流、冒泡、捕獲、事件對象、事件框架、選擇框架。
2、框架封裝中級:運動原理、單物體運動框架、多物體運動框架、運動框架面向?qū)ο蠓庋b。
3、框架封裝高級和補充:JQuery框架雛形、可擴展性、模塊化、封裝屬于傳智自己的框架。
第六個階段:
1、Web開發(fā)工作流:GIT/SVN、Yeoman腳手架、NPM/Bower依賴管理工具、Grunt/Gulp/Webpack。
2、MVC/MVVM/MVW框架Angular.js、Backbone.js、Knockout/Ember。
3、常用庫:React.js、Vue.js、Zepto.js。
第七個階段:
Node.js全棧開發(fā)
以上就是小編今天為大家分享的關(guān)于零基礎(chǔ)學Web前端的學習路線總結(jié)的文章,希望本篇文章能夠?qū)φ趯Wweb前端知識的新手有所幫助,想要了解更多web前端知識記得關(guān)注北大青鳥web培訓官網(wǎng),最后祝愿小伙伴們學習成功,成為一名優(yōu)秀的web前端工程師。
文章來源:原創(chuàng)前端資源庫前端資源庫