如何系統(tǒng)地學(xué)習(xí)javascript知識(shí)
學(xué)習(xí)Java。能學(xué)得有多好,就看你花了多少時(shí)間了。學(xué)習(xí)Java的具體方法請(qǐng)務(wù)必仔細(xì)查看下文,以下是學(xué)習(xí)啦小編分享給大家的系統(tǒng)地學(xué)習(xí)javascript知識(shí)的方法的資料,希望可以幫到你!
系統(tǒng)地學(xué)習(xí)javascript知識(shí)的方法
1、CSS。必看《精通CSS》,看完這本書你應(yīng)該對(duì):盒子模型,流動(dòng),Block,inline,層疊,樣式優(yōu)先級(jí),等概念非常了解了。作為練習(xí)可以看下《CSS藝門之匠》這本書,它對(duì)標(biāo)題,背景,圓角,導(dǎo)航條,table,表單等主題都有詳細(xì)的介紹。
2、Javascript。上面提到內(nèi)容還不足以讓你勝任JS編程。在有了基礎(chǔ)之后,進(jìn)一步學(xué)習(xí)內(nèi)容包括:
a) 框架。
推薦jQuery,簡單易用,在W3school簡單學(xué)習(xí)js后,直接上手jQuery即可完成一些簡單的項(xiàng)目。學(xué)習(xí)方法也很簡單,照著產(chǎn)品文檔做幾個(gè)頁面就行了,不用面面俱到,以后遇到問題查文檔就行了??蚣芸梢詭湍闫帘螢g覽器的差異性,讓你能更專注與Web開發(fā)學(xué)習(xí)的精髓部分。補(bǔ)充: 可以使用 Codecademy 學(xué)習(xí) Javascript,jQuery,用戶體驗(yàn)真的很好(感謝 TonyOuyang )。
b) Javascript 語言范式 。這個(gè)名字可能并不恰當(dāng),只是我找不到可以描述“面向?qū)ο?rdquo;,“函數(shù)式”這個(gè)兩個(gè)概念的概念。Javascript不完全是一個(gè)面向?qū)ο蟮恼Z言,它的很多設(shè)計(jì)理念都有函數(shù)編程語言的影子,甚至說如果你不用面向?qū)ο?,完全可以把它理解成一門函數(shù)式編程語言。
Javascript的很多語言特性,都是因?yàn)樗哂泻瘮?shù)式語言的特點(diǎn)才存在的。這部分推薦先學(xué)習(xí)面向?qū)ο蟮幕纠碚?,?duì)封裝,繼承,多態(tài)等概念要理解,維基百科,百度百科會(huì)是你的幫手,另外推薦《Object Oriented Javascript》,應(yīng)該有中文版。對(duì)與函數(shù)式編程我了解的也不系統(tǒng),不好多說,可以自己百度一下。
c) Javascript 語言內(nèi)部機(jī)制。必須弄清如下概念:JS 中變量的作用域,變量傳遞方式,函數(shù)的定義環(huán)境與執(zhí)行環(huán)境,閉包,函數(shù)的四種調(diào)用方式(一般函數(shù),對(duì)象的方法,apply,call),以及四種調(diào)用方式下,‘this’指向的是誰。這部分內(nèi)容你會(huì)在《Javascript語言精粹》中詳細(xì)了解。另外,你必須理解 json。
d) dom編程,這個(gè)Web前端工程師的核心技能之一。必讀《Dom編程藝術(shù)》,另外《高性能 Javascript》這本書中關(guān)于dom編程的部分講的也很好。
e) Ajax編程,這是另一核心技術(shù)。Ajax建議在網(wǎng)上查些資料,了解這個(gè)概念的來龍去脈,百度百科,維基百科上的內(nèi)容就足夠了。真正編程是很容易的,如今幾乎所有框架都對(duì)Ajax有良好的封裝,編程并不復(fù)雜。
f) 了解瀏覽器差異性。這部分包括CSS和js兩部分,瀏覽器差異內(nèi)容很多,建議在實(shí)踐中多多積累。另外對(duì)于瀏覽器的渲染模式,DOCTYPE等內(nèi)容應(yīng)該系統(tǒng)學(xué)習(xí)。
3、HTML5和CSS3 。HTML5規(guī)范已經(jīng)于2014年10月28日發(fā)布了,移動(dòng)端HTML5和CSS3已經(jīng)得到了非常廣泛的使用,必知必會(huì)呀。
學(xué)習(xí)JavaScript必讀的書籍
1. 趣學(xué)JavaScript:教孩子學(xué)編程 by Nick Morgan
JavaScript是Internet的語言,是創(chuàng)建令人驚訝的Web、你喜歡的站點(diǎn)交互和在線游戲的秘密武器。 《趣學(xué)JavaScript 教孩子學(xué)編程》用輕松愉快的方式,通過耐心的、按部就班的示例,以及充滿樂趣的圖示,幫助讀者輕松地學(xué)習(xí)編程基礎(chǔ)知識(shí)。全書共16章,從基礎(chǔ)知識(shí)開始,詳細(xì)介紹了操作字符串、數(shù)組以及循環(huán),然后繼續(xù)學(xué)習(xí)一些高級(jí)話題,如使用jQuery構(gòu)建交互性,以及使用畫布繪圖等。本書通過教授編寫一些簡單有趣的游戲,幫助讀者掌握J(rèn)avaScript編程。每一章都構(gòu)建于上一章的基礎(chǔ)之上,并且每章末尾的編程挑戰(zhàn)能夠激發(fā)讀者更多的思考和學(xué)習(xí)興趣。 《趣學(xué)JavaScript 教孩子學(xué)編程》針對(duì)任何想要學(xué)習(xí)JavaScript或初次接觸編程的人。本書針對(duì)兒童學(xué)習(xí)JavaScript量身定做,但也適合作為不同年齡的初學(xué)者的第1本編程圖書。 豆瓣鏈接
2. JavaScript編程精解 by Marijn Haverbeke
如果你只想閱讀一本關(guān)于JavaScript的圖書,那么本書應(yīng)該是你的首選。本書由世界級(jí)JavaScript程序員撰寫,JavaScript之父和多位JavaScript專家鼎力推薦。本書適合作為系統(tǒng)學(xué)習(xí)JavaScript的參考書,它在寫作思路上幾乎與現(xiàn)有的所有同類書都不同,打破常規(guī),將編程原理與運(yùn)用規(guī)則完美地結(jié)合在一起,而且將所有知識(shí)點(diǎn)與一個(gè)又一個(gè)經(jīng)典的編程故事融合在一起,讀者可以在輕松的游戲式開發(fā)中學(xué)會(huì)JavaScript程序設(shè)計(jì),趣味性十足,可操作性極強(qiáng)。 全書一共12章:第1~3章介紹了JavaScript的基本語法,旨在幫助讀者編寫出正確的JavaScript程序,包含數(shù)字、算術(shù)、字符串、變量、程序結(jié)構(gòu)、控制流程、類型、函數(shù)、對(duì)象和數(shù)組等最基礎(chǔ)和最核心的內(nèi)容;第4~7章講解了JavaScript編程中的高級(jí)技術(shù),目的是幫助讀者編寫更復(fù)雜的JavaScript程序,主要涉及錯(cuò)誤處理、函數(shù)式編程、面向?qū)ο缶幊?、模塊化等重要內(nèi)容;第8~12章則將重心轉(zhuǎn)移到JavaScript環(huán)境中可用的工具上,分別詳細(xì)講解了正則表達(dá)式、與Web編程相關(guān)的知識(shí)、文檔對(duì)象模型、瀏覽器事件和HTTP請(qǐng)求等。 豆瓣鏈接
3. JavaScript語言精粹 by Douglas Crockford
JavaScript 曾是“世界上最被誤解的語言”,因?yàn)樗鼡?dān)負(fù)太多的特性,包括糟糕的交互和失敗的設(shè)計(jì),但隨著Ajax 的到來,JavaScript“從最受誤解的編程語言演變?yōu)樽盍餍械恼Z言”,這除了幸運(yùn)之外,也證明了它其實(shí)是一門優(yōu)秀的語言。Douglas Crockford 在本書中剝開了JavaScript 沾污的外衣,抽離出一個(gè)具有更好可靠性、可讀性和可維護(hù)性的JavaScript 子集,讓你看到一門優(yōu)雅的、輕量級(jí)的和非常富有表現(xiàn)力的語言。作者從語法、對(duì)象、函數(shù)、繼承、數(shù)組、正則表達(dá)式、方法、樣式和優(yōu)美的特性這9 個(gè)方面來呈現(xiàn)這門語言真正的精華部分,通過它們完全可以構(gòu)建出優(yōu)雅高效的代碼。作者還通過附錄列出了這門語言的毒瘤和糟粕部分,且告訴你如何避免它們。最后還介紹了JSLint,通過它的檢驗(yàn),能有效地保障我們的代碼品質(zhì)。 這是一本介紹 JavaScript 語言本質(zhì)的權(quán)威書籍,值得任何正在或準(zhǔn)備從事JavaScript 開發(fā)的人閱讀,并且需要反復(fù)閱讀。學(xué)習(xí)、理解、實(shí)踐大師的思想,我們才可能站在巨人的肩上,才有機(jī)會(huì)超越大師,這本書就是開始。 豆瓣鏈接
4. Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Moderns JS Libraries by Eric Elliott (原作者本人)
在我剛開始招聘JS開發(fā)者開發(fā)應(yīng)用的時(shí)候,我發(fā)現(xiàn)許多人根本不知道怎么駕馭JS來構(gòu)建健壯的應(yīng)用架構(gòu)。所以我就決定寫一本有關(guān)JS最佳實(shí)踐、原型、對(duì)象聚合,和一些基本的函數(shù)式編程概念(這些知識(shí)足夠你了解如何開發(fā)維護(hù)一個(gè)典型的JS應(yīng)用),然后講解了如何運(yùn)用上述的知識(shí)解決大多數(shù)應(yīng)用中都會(huì)出現(xiàn)的一些通共性問題。
很多書都在回答“如何使用JS?”的問題,而我在這本書中要回答的是“如何用JS來開發(fā)真正的應(yīng)用?”
雖然近兩年內(nèi)技術(shù)發(fā)展迅猛,但客觀來講,這本書依舊能夠帶給你一個(gè)有關(guān)JS應(yīng)用架構(gòu)的完整而直觀的概念。同時(shí)也能加深你對(duì)JS的理解,學(xué)習(xí)基礎(chǔ)的Node,RESTful API,權(quán)限和驗(yàn)證,功能切換系統(tǒng),日志記錄等等…… 豆瓣鏈接
5. Effective JavaScript : 編寫高質(zhì)量JavaScript代碼的68個(gè)有效方法 by David Herman
《Effective JavaScript:編寫高質(zhì)量JavaScript代碼的68個(gè)有效方法》內(nèi)容簡介:Effective系列叢書經(jīng)典著作,亞馬遜五星級(jí)暢銷書,Ecma的JavaScript標(biāo)準(zhǔn)化委員會(huì)著名專家撰寫,JavaScript語言之父、Mozilla CTO Brendan Eich作序鼎力推薦!作者憑借多年標(biāo)準(zhǔn)化委員會(huì)工作和實(shí)踐經(jīng)驗(yàn),深刻辨析JavaScript的內(nèi)部運(yùn)作機(jī)制、特性、陷阱和編程最佳實(shí)踐,將它們高度濃縮為極具實(shí)踐指導(dǎo)意義的68條精華建議。 《Effective JavaScript:編寫高質(zhì)量JavaScript代碼的68個(gè)有效方法》共分為7章,分別涵蓋JavaScript的不同主題。第1章主要講述最基本的主題,如版本、類型轉(zhuǎn)換要點(diǎn)、運(yùn)算符注意事項(xiàng)和分號(hào)局限等。第2章主要講解變量作用域,介紹此方面的一些基本概念,以及一些最佳實(shí)踐經(jīng)驗(yàn)。第3章主要講解函數(shù)的使用,深刻解析函數(shù)、方法和類,并教會(huì)讀者在不同的環(huán)境下高效使用函數(shù)。第4章主要講解原型和對(duì)象,分析JavaScript的繼承機(jī)制以及原型和對(duì)象使用的最佳實(shí)踐和原則。第5章主要介紹數(shù)組和字典,闡述將對(duì)象作為集合的用法以及使用數(shù)組和字典的一些陷阱。第6章介紹庫和API,講解如何設(shè)計(jì)良好的API的技巧,以清楚、簡潔和明確地表達(dá)程序,并提高可重用率。第7章講解并發(fā),在技術(shù)上討論一些“約定成俗”的JavaScript用法。
了解什么是JavaScript
在你真正開始學(xué)習(xí)JavaScript 之前,花一分鐘了解一下什么是JavaScript,它有哪些功能。
JavaScript不是jQuery、Flash或Java。與它們不同,它是一種獨(dú)立的編程語言。
JavaScript 是瀏覽器語言(盡管現(xiàn)在不完全是)。主要目的是給靜態(tài)頁面增加交互性。在瀏覽器里,它不會(huì)為你更換PHP或Ruby,也不會(huì)更改你的HTML或CSS;你可以把它們串在一起使用。另外,它沒有你想的那么難學(xué)。
補(bǔ) 充說明:你應(yīng)該聽過jQuery,它可能是被使用最廣泛的JavaScript 庫。也許你還聽說過其他比較流行的JavaScript 框架,比如Mootools,,YUI,Dojo 等等??梢詫⑺鼈兘y(tǒng)一看做JavaScript輔助工具集;當(dāng)你使用它們的時(shí)候,你還在寫JavaScript,但都是些很抽象的JavaScript。 它會(huì)讓你事半功倍。
“你甚至可能聽到有人說,你應(yīng)該先學(xué)jQuery(或其他庫)再學(xué)JavaScript。我很尊重他們但完全不同意這種說法。先把JavaScript 學(xué)好再用其他庫,你會(huì)發(fā)現(xiàn)你會(huì)做的更好;結(jié)果就是,你會(huì)編寫更好的JavaScript。”
猜你喜歡: