關於
前言
最近在公眾號和文章中經常會收到一些讀者的留言和評論,本文是我挑選的一些在關於學習前端方面比較有價值的提問,希望能夠幫助那些有類似前端問題的讀者們,同時也為自己的回答做一個統一的整理。
問答
1. 我是朋友介紹才接觸了前端,並且去了培訓機構,培訓了4個多月,目前就職一家公司,半道接手他們的專案,看了近一個月還不是很懂,想放棄,但是前端高額的工資很誘人,自己也不想放棄, 所以想找一個很有效的學習辦法。
答:既然堅持了這麼久我覺得不要輕易放棄,萬事開頭難,不光是前端這樣,挺過去了自然會覺得輕鬆很多。
做前端不要因為工資高而去做,這樣很容易疲倦和乏味,你應該從學習中發掘自己感興趣的地方併為之奮鬥,這樣才能學的輕鬆自如。另外前端目前之所以工資高是因為其也不是很好學的,各種新技術層出不窮,真正優秀的前端還很稀缺,我們必須保持一顆善於學習的心才能不被淘汰。
至於學習方法,根據你的情況我覺得一開始你應該找一家願意培養你的公司,並且必須要有一定經驗的前端帶你,這樣會有一定的學習和解決問題的方向,不然會很迷茫。
如果沒有一個前端團隊,除非你有很強的學習能力,否則對自身的發展是很不利的,可以考慮換一家公司,一開始對工資要求不要太高,哪怕工資很低,有有利於自己成長的環境那也是值得去的。
另外學前端一定要多看書,自己覺得哪方面薄弱就去買哪方面的書,書籍會非常系統性的從易到難的幫你提升自我。同時在學習的過程中也要多多記筆記,把不懂或者有價值的知識點記下來,有空的時候多看看之前的筆記,推薦使用線上的有道雲筆記和印象筆記。
最後就是一定要多敲程式碼多實踐了,理論的東西終究是無形的,你需要將自己學到的東西敲出來,最好能自己總結後敲出一個demo來,或者根據人家的demo照著敲,不然會很容易忘記。
2. 我是一名在校生,馬上就要去公司實習了,目前對於別人寫的JavaScript程式碼我基本都能看懂,但是自己就是寫不出來,感到很難過,請問如何才能學好JS?
答:首先一般學習前端或者其他語言都會經歷看懂程式碼到會敲程式碼的過程,你現在能看懂程式碼但不知道如何應用說明你還沒有到達會敲程式碼的那一層,這一點每個初學者都會經歷,不是你獨有的問題,沒必要氣餒和難過。
至於如何學習JS,如果你現在已經對JS的語法都有了一定的瞭解,那麼除了多看程式碼外,更重要的是多敲程式碼,哪怕照著別人的例子敲也不要一直盯著看。另外初學JS可以從網上找一些簡單的例項進行模仿,比如“按鈕倒數計時”、“回到頂部”效果等,先不要一開始就看人家給出的程式碼,建議先自己思考一下實現的步驟和邏輯,然後自己嘗試著實現,等遇到問題了再分析人家的程式碼是怎麼解決的,這樣有助於你JS思維層面的提升。
同時好好把握你實習期間的時間,實習本身就是一個學習的過程,因為實習的時候可以接觸一些公司的專案,可以有很多實踐的機會,對新手來說很有幫助。
最後建議多看看JS相關的實戰書籍,書籍很系統性的幫助你學習JS,另外記得多記筆記、多總結、多思考。
3. 很納悶vue為何這麼火,很多招聘職位都寫著要求熟悉vue,想問下樓主,像vue這種個人的東西就不怕哪天它突然不維護了麼?很多大公司的東西都不敢保證一直更新維護,更別說這種個人作品了,況且前端開發日新月異,說不定過幾個月又流行其它什麼MVXX框架了。
答:我個人認為其實vue發展到現在已經不是一個個人專案了,其背後有很多開發者和使用者一起維護著,包括阿里巴巴這樣的大公司,即使哪天Vue作者不維護了也停止不了其生態圈的繼續發展,比如阿里基於Vue的Weex專案,也會有人站出來接力的。
另外不維護的還有一種可能就是不符合時代潮流了,也就是說有其他新技術出現取代了Vue的位置,就好比之前的seaJs一樣,其作者玉伯也說過“隨著ES6的落地,seaJs已經沒有存在的必要了。”如果是這種情況的話那麼也無可非議,因為一種技術最終都會被新技術取代,但是至少其為新技術的出現奠定了基礎,鋪平了道路。
其實學一個框架並不是學技術本身,而是學它的思想,在學Vue的同時你也會接觸並鞏固前端其他領域的知識點,所以為什麼很多人學了Angular後學Vue會很輕鬆,其實它們的思想是融會貫通的,我們不能始終抱殘守缺。
4. 今年畢業找了份國企,呆了兩個月安逸的生活覺得不適合我,我就跑出來學習前端了,零基礎在培訓機構,每天的知識量很多,學得不紮實,目前剛學完bootstrap。因為學得不紮實,我留了一級,也就是說多學了一個月。我上一個班級目前正面臨就業,現在工作不好找,不是內推就是要求有工作經驗,我現在擔心找不到工作,你能否給我指條路,現在著手做得除了學習還有什麼?
答:個人感覺培訓機構學的東西可能還是比較基礎或者與實際工作有一定差距的,所以還是得自己看清當下前端的技術趨勢,自學是很重要的。至於除了學習,畢業後應該儘快找一份實習的工作鍛鍊,一開始工資多少其實不重要,只要有機會鍛鍊就行,努力幹個幾個月有點經驗了就可以跳槽了,之後工作會好找很多。沒畢業前,可以利用這段時間自己用學到的技術做點demo出來,不要太簡單的那種,放在簡歷裡對面試很有幫助。
很多企業很看中面試者的學習能力,如果你在面試中表現出一種很強的學習知識解決問題的能力,即使基礎差也不要緊,因為他們相信招你進來實踐一下一個月左右也能上手,所以平時多看看書,書能夠系統的介紹一種技術,不建議看網上的教學視訊什麼的,個人感覺太雜太泛了。
5. 想知道下怎麼才算JS學的比較好了,因為一直也在弄JS總感覺還是比較傳統的寫法,像工程化這方面做得不好,現在的JS普遍都模組化,越來越像後端語言的物件導向了,還有各種打包工具的使用,那些新冒出來的框架React、Angular都是圍繞JS這個核心不動搖,所以想很好的掌握他們JS還是得到一定境界才好吧,那麼原生JS和ES6掌握程度如何界定?
答:掌握Vue、React等MVVM框架前首先要打好基礎,原生JS和目前的ES6是一定要掌握的,這是前置條件,不然會學的很累。前端工程化主要是為了提高前端效能、開發效率和維護效率的產物,也是目前和未來的趨勢,只要思想上跟上了就沒有太大問題,也可以延伸到前端架構層面。
而至於原生JS和ES6掌握程度如何界定,我個人覺得能夠利用原生JS獨立開發專案,不依懶於jQuery等框架庫的可以算掌握了,當然我這裡只是做一個判斷標準,實際專案中基本不會全部用原生的寫。而能夠在基於ES6的專案中使用ES6的語法、屬性、方法等減少程式碼量,提高開發效率的也可以認為很好的掌握了ES6。除了上述標準還可以根據是否熟悉jQuery、Zepto等庫或框架原始碼來對是否掌握原生JS進行一定程度的判斷,也有人把《JavaScript高階程式設計》和《JavaScript權威指南》詳細看3遍以上並吃透的看做掌握。
結語
正所謂“地基不打好,難以建高樓”,學習前端也是一樣,基礎不打好的話很容易遇到技術瓶頸,最後附上幾個不錯的前端學習網址:
- FreeCodeCamp:freecodecamp.cn/home
- WEB前端知識總結:note.youdao.com/share/?id=b…
- 前端收集:github.com/jikeytang/f…
- 前端開發提高之旅:www.kancloud.cn/digest/ying…
- 一個前端的自我修養:taobaofed.org/blog/2016/0…
- 前端 TOP 100:www.awesomes.cn/rank