26天學通前端開發
我是標題黨:如果不喜歡這個標題,可以換成《前端新手的學習路徑》,裡面寫的天數就是一個學習順序,可能用不了那麼多天,也可能要比這長,主要還是看編程基本功怎麼樣。
我見過一個用c#寫winform的,用十多天就把下面這些內容學完了。
也見過小白苦苦搞了半年,也沒學明白這些內容的。
所以,天數不重要,人更重要。
之前在文章里推廣了一下公眾號,不知道為什麼這麼多人投訴,我改了改,把資料和求關注那部分去掉了,新手看了可能會有一些收穫。
這篇文章應該還是有很多人收益的,辛辛苦苦攢了100多個贊,咔嚓一下都沒了,心酸吶。
26天學通前端開發的哈哈評論
截取了一些評論,大家就當一樂,這兩篇文章,大家高興了或者有點收穫,就點個贊。
===============以下是原文=======================
前言
好的學習方法可以事半功倍,好的學習路徑可以指明前進方向。這篇文章不僅要寫學習路徑,還要寫學習方法,還要發資料,乾貨滿滿,準備接招。
網上有很多前端的學習路徑文章,大多是知識點羅列為主或是資料的匯總,數據量讓新人望而卻步。今天我們雖然也有大量的知識點,但是整體以特定目標引導學習,讓學習梯度更加平滑。
文章用下面七個目標引導學習,只要依次完成,就可以踏進前端開發的大門
- 將設計稿還原成html頁面(5天)
- 在網頁中添加圖片切換的效果(2天)
- 學會使用git管理你的代碼,並且用markdown格式做筆記(2天)
- 系統地學習javaScript(8天)
- 搭建一個web伺服器(5天)。
- 熟悉ajax和跨域請求。(2天)
- 了解一個前端框架。(2天)
一、將設計稿還原成html頁面
第一天:掌握html標籤和css樣式基礎
html有那麼多標籤,你只需要記住八個就可以搞定99%的網頁,它們分別是:h,p,a,img,ul,li,div,span。
css選擇器:id選擇器,class選擇器,元素選擇器,層級選擇器;記住四個,夠用了。
css屬性:width,height,color,background-color,font-size;記住這幾個就夠了。
上面的內容沒有多少需要理解的,照著w3cschool上面敲一遍,剩下的時間自己隨便玩玩,比如弄個空div,設置個寬高,設置個背景色,裡面添加一個標題,添加一個連接等等,想怎麼玩就怎麼玩,但是注意:
有疑問不一定要馬上解決,但是定要用筆記下來,以後可以帶著問題學習(同下)
有疑問不一定要馬上解決,但是定要用筆記下來,以後可以帶著問題學習(同下)
有疑問不一定要馬上解決,但是定要用筆記下來,以後可以帶著問題學習(同下)
如果有問題馬上去解決,你會陷入問題的黑洞,然後被一個個連鎖問題搞得喘不過氣來,記住,第一天就一個目標,知道html和css是怎麼用的就行。
第二天:盒子模型
關於盒子模型,網上有大量的博客,找一篇自己能理解的從頭看到尾就差不多了,其實記住五個css屬性就行(width,height,margin,padding,border)
概念理解了一點要多練,一天的時間搞盒子模型,怎麼也玩明白了。可以看看電商網站中的一個個盒子都是怎麼設置的。自己也照著做一做。
第三天:浮動布局
在前兩天的學習中,一定會發現:有些元素獨佔一行,有些元素可以和其他元素共享一行。因為什麼?看看元素的分類。如何讓兩個div放在同一個,學學浮動布局,在看看如何清除浮動。這些網上都有相應的教程。
第三天主要就是兩個屬性(float:left和clear:both),玩明白了任務就完成了。
第四天:定位
如何設置元素的絕對定位,相對定位和固定定位,如何設置定位元素的參照物:一個css屬性和三個值就搞定了(posotion:absolute,raletive,fixed),這個也可以玩一天,看看網頁中的廣告是怎麼做的。向對聯廣告,彈框廣告,都需要用到定位。
第五天:還原設計稿
如果前四天的知識都掌握了,第五天要學習還原設計稿,找一個簡單的設計稿(psd格式),用photoshop的切片工具把主要內容切下來(可以用一上午的時間學習切圖),用半天的時間將設計稿還原成html頁面。
二、在網頁中添加圖片切換的效果
jQuery仍然是當前使用最廣泛的庫,我們可以在不懂JavaScript的情況下,直接使用jQuery實現一些網頁效果,如果自學,我建議先簡單學學jQuery,然後再去學習JavaScript,這樣學習曲線更加平滑,而且會有更多的學習樂趣(js相對枯燥)。
第六天:入門jQuery
首先,了解jQuery選擇器,這個基本看一下就會了。
然後,使用jQuery修改樣式和屬性。
最後,學會綁定單擊事件
第七天:完成一個圖片切換效果
可以上網找現成的案例,也可以看書上的案例。《鋒利的jQuery(第二版)》寫的不錯,有興趣看的話看兩個小時,掃一掃就行,適合初學者,不要在這本書上面浪費太多時間。
三、學會使用git管理你的代碼,並且用markdown格式做筆記
第八天:是時候學習git了
學到第八天的時候,你會發現你的代碼越寫越多,案例越來越多,筆記越來越多,有的可能已經找不到了。這時候,你需要用git來管理你的代碼。廖雪峰老師的博客有很不錯的git教程,可以看一下。如果想看精簡版的,可以關注我的微信公眾號。
第九天:用markdown記錄你的筆記
markdown格式很適合程序員做筆記,真的非常非常適合,我現在寫這篇文章就是用markdown格式在寫,學起來也非常容易,誰用誰說好,抽一天的時間學習一下把。然後以後所有的問題,資料,筆記都用它來記錄。
四、系統地學習JavaScript
是時候學習JavaScript了,對沒有編程經驗的朋友,這也許是個坎,但也是個試金石,對於一個前端開發工程師,你要用JavaScript表達你的感情,用JavaScript對瀏覽器下達指令,用JavaScript體現你的能力,JavaScript是你進步的基石,這個不能再重要了。
第十天:變數、數據類型、運算符、表達式
定義變數用var(let是什麼?先不用管),數據類型記住六種:數值,字元,布爾,null,undefined,對象。運算符和表達式,可以看看犀牛書,這章寫得不錯。
第十一天:控制流程語句
記住這四個:if,switch,for,while。熟悉語法,在做幾個簡單的練習。比如:輸出1-100所有整數,輸出1-100所有奇數,輸出1-100所有能陪7整除的數,輸出1-100前3個能被7整除的數。用for寫完了再用while寫一遍,反正就是多寫多練。
第十二天:函數
什麼是函數,什麼是返回值,什麼是參數,什麼是形參,什麼是實參,如何調用函數。在了解一下作用域的概念。然後做幾個練習:寫一個函數計算兩個數的加和,寫一個函數計算四則運算,寫一個函數計算階乘(用循環,不用遞歸)。在了解一些作用域的基本概念。
除非好奇心驅使你,否則不要去看作用域鏈,不要去看閉包,不要解決函數嵌套的各種問題,這些都不是30天之內的任務
第十三天:數組
到w3cschool上看看數組的基本概念,如何遍曆數組,有興趣的話可以試試遍歷二維數組。在數組中添加數組,刪除數據,替換數據,如何使用排序方法(sort)。
第十四天:內置對象
學會使用三個內置對象:數學對象、日期對象。數學對象會取任意的隨機數就行,比如1-7的隨機數,10-100的隨機數。日期對象會獲取年、月、日、時、分、秒,還有時間戳就夠了。
第十五天:計時器方法
四個計時器方法:setInterval,clearInterval,setTimeout,clearTimeout。然後做練習:5秒跳轉到其他頁面;網頁顯示時鐘;還有網頁顯示倒計時;有時間做一個圖片自動輪播的效果。
第十六天:DOM
熟悉DOM的樹狀結構,節點關係,html節點分類(元素節點、屬性節點、文本節點),獲取節點的方法,記住這兩個就行:querySelector和querySelectorAll。(如果看到getElement(s)ByXXXX,有興趣就看看,沒興趣就放著),添加節點,刪除節點,修改節點的各種方法,都試一遍就可以了。
第十七天:DOM練習
今天的主要任務就是把之前用jQuery做的效果,用原生的JavaScript實現一遍。
學到這裡,原生JavaScript就告一段落了,什麼閉包,原型,面向對象,ES6,都不要在這個階段學。學習就像剝洋蔥一樣,一層一層的去見識裡面的事件,如果扣一個點一直向內探索,這種方法不適合自學,會嚴重打擊自信心。
五、搭建一個web伺服器(5天)
第十八天:學習node
對於前端同學來說,用node搭建web伺服器是再合適不過的了,最起語法層面不用重學了,大家都是js嗎。
前端同學學習node要簡單粗暴一點,什麼非同步io,事件驅動,單線程,都不用管。先照著官網開一個伺服器再說。
第十九天:學習npm
要學會用npm下載第三方模塊,要會用package.json文件管理依賴模塊,然後下載一個http-server的模塊,開一個靜態伺服器就夠了。
第二十天:了解http協議
知道什麼是請求,什麼是響應,查查get和post的區別,學會使用chrome調試工具抓包。看看別人網站的請求和相應是什麼樣的,再看看自己的靜態伺服器請求和響應是什麼樣的。
第二十一天:用express搭建靜態伺服器
不要寫太多,就建一個server.js文件,引入express,處理兩個url的請求,send回幾個字元串就OK了。前端可以用表單提交get和post請求,用抓包工具看看有響應式什麼效果,沒響應式什麼效果,404是什麼效果。
第二十二天:了解一下pug模板引擎
用模板繼承做一個動態頁,感受一下最簡單的網站時如何實現的。
六、熟悉ajax和跨域請求。(2天)
第二十三天:學習ajax
了解XMLHttpRequest對象,再看看如何使用這個對象發送請求和接受響應的數據。如果之前的內容了解的透徹,這個就很好理解了,ajax說的簡單點就是http協議的實現。
嘗試用封裝好的ajax方法來請求數據,jQuery有,axios有,如果前面的課程都學會了,這個看文檔,超簡單。
第二十四天:學習跨域請求
看看什麼是同源策略,了解跨域請求的解決方案,看看jsonp的原理,在嘗試用封裝好的jsonp方法獲取數據。jQuery有,jsonp模板(npm可以下載)也有。至於後台,用node自己模擬一個跨域的環境,應該不難。
七、了解一個前端框架。(2天)
第二十五天:學習webpack
阮一峰老師有一套webpack的教學視頻,寫的不錯,可以照著練練,然後,找一個寫好的webpack配置文件和package.json文件,面得自己配浪費時間。
第二十六天:刷文檔
現在主流的前端框架:react、vue、angular,找一個對著文檔刷一天,感受一下它與jQuery的區別。
八、注意事項
- 寫的一定要比看的多
- 寫的一定要比看的多
- 寫的一定要比看的多
重要的事情說三遍
九、總結
通過上面26天的學習,恭喜你!你已經在前端開發的道路上走出了第一步,之後,喜歡數據結構和演算法,可以去leetcode刷題,喜歡node,可以系統的學習一下後台,可以深入學習網路協議,操作系統,資料庫等知識,喜歡原生JavaScript,可以看看《js高級程序設計》還有再了解ES的新特性。總之,把上面的目標完成之後,你的世界就開闊了,對知識體系也有了一個全新的理解,到時候再著手深入某一個方向的學習。
推薦閱讀:
※大數據浪潮下的前端工程師
※精選 20 個優質的載入動畫
※看啥雙拱門,來學 webpack 3啊
※極樂技術周報(第十二期)
TAG:前端开发 | JavaScript |