當人們嘗試學習 JavaScript , 或者其他程式設計技術的時候,常常會遇到同樣的挑戰:
- 有些概念容易混淆,特別是當你學習過其他語言的時候。
- 很難找到學習的時間(有時候是動力)。
- 一旦當你理解了一些東西的時候,卻很容易再一次忘記。
- 可以使用的工具甚多且經常變化,所以不知道從哪裡開始入手。
幸運的是,這些挑戰最終都可以被戰勝。在這篇文章裡,我將介紹 6 個思維技巧來幫你更快的學習 JavaScript ,讓你成為一個更快樂更多產的程式設計師。
1.不要讓將來的決定阻止你進步
對於很多學習 JavaScript 的人來說,他們問的第一個問題是選用哪個框架(現有框架非常多)。但是如果你還不熟悉原生的 JavaScript ,那這就是個不該問的問題。你會花費你全部的時間去查詢不同的框架並且不會取得任何進展。
走出這個讓人猶豫不決的陷阱的一個方法是要有一個學習的路線圖。比如,要想成為一個前端開發人員,你的路線圖大概是這樣的:
把學習計劃進一步拆分,你可以只用 HTML 和 CSS 做一個功能性的網頁。瞭解其中的具體步驟,你會很容易知道現在需要關注的東西,因此不會浪費時間擔心將來要學習的內容。
如果覺得此文章有用的話,更多詳情請訪問 learning road map for becoming a front-end developer 。
2.不要讓自信把你騙進遺忘陷阱
在學習 JavaScript 的過程中,快速理解某個概念可能是最不利於你進步的一件事。請允許我解釋一下。
當你理解一些東西並且覺得它言之有理的時候,你會傾向於立即學習下面的內容。可能你會理解下面的內容並繼續向下學習。但是很快,你會發現你已經忘記了之前所學到的一些東西,因此你需要重新複習。你很快的瞥一眼之前的概念更新下記憶然後繼續往後學習。但是,這次你又忘記了其他的一些東西。你會不停的反反覆覆直到你發現你完全的迷失了方向。你會感到氣餒,休息一下後,你準備重新開始,卻發現已經忘記了所有的東西。
幸運的是隻需要簡單的兩步就可以解決這個問題:
1. 限制一次學習的內容總量
2. 認真的練習——寫程式碼
當你學習一些新的概念的時候,一定要多嘗試,多應用,多熟悉,甚至將它與其他的概念相結合。在你學習的示例中寫程式碼非常重要,因為這有助於你深刻理解它。同時,限制一次學習的內容總量有助於你記住這些內容,因為記住較少的內容會更容易。
這個過程可能會比僅僅通讀一遍就學習其它內容要花費更多的時間,然而實際上它需要的時間更少,因為你不需要來回反覆。經過多次嘗試,我終於掌握了這種方法。
3. 用正確的心態進行實戰練習
很多人認為練習是件重複而又無趣的事情,所以他們常常會跳過練習試著走捷徑。如果你試圖在 JavaScript 的練習上走捷徑,實際上你需要更長的時間來學習它。但是,怎樣才能讓練習變得更有趣,讓你願意去做練習呢?
嘗試轉換一下思路:
如果你學了一個新的 JavaScript 的概念卻無法嘗試,你會有什麼樣的感受?對於我個人而言,我會覺得懊惱,特別是在我花費了時間去理解它之後。就像一個孩子有了一件新的玩具卻不能玩一樣。
當你學一些新的 JavaScript 的知識時,試著像對待一個新玩具、一輛新車、一雙新鞋或者其它你有興趣嘗試的東西一樣。像玩一樣練習,而不是像工作一樣練習。用新技能做一些很棒的事情。給自己一些驚喜同時展示給你的朋友。
保持娛樂的心態,你會學的更快,記住的時間更長,而且你會覺得更有趣。
4.用Facebook的竅門找時間程式設計
人們常見的問題之一是沒有時間去程式設計。但是這些人卻可以在 Facebook , YouTube , Wikipedia 或者 Reddit 這樣的網站上花費數小時的時間。不管你是不是也有這樣的情況,其中都有值得學習的地方。
很多時候我只是想看一小會兒的 Facebook ,結果我卻在那兒停留了好幾個小時。為什麼會這樣呢?這恰恰是因為我並沒有打算在那兒停留太長時間。萬事開頭難,我發現把目標降低會更容易投入。如果有人問我是否準備在 Facebook 上花費幾個小時,我會說不,因為我沒有那些時間。然而,我更願意接受快速檢視某件事情的想法,我就是這樣被吸引進去的。
好訊息是你可以用同樣的心理優勢去學習程式設計。不要試圖花幾個小時去程式設計,因為你找不到這樣的時間。告訴自己只寫三分鐘的程式碼,你就不會再為找時間而掙扎了。
5. 思考地越慢,學地越快
這句話聽上去有些違背常理,所以我會用一個故事來解釋。
我的一個朋友曾經對 JavaScript 的某些特性感到困惑。我讓他和我一起過一遍他知道的內容然後解釋一下哪一部分讓人困惑。當他檢查程式碼片段的時候,我注意到他有些急躁。
“等等!”我說。“慢一點,跟我解釋下這裡的每一步。”
我的朋友接著向我解釋了這段程式碼的作用。
我又一次打斷他,“你還是太急了。再試一次,但是這一次,我需要你逐字逐句的跟我解釋每行程式碼並且告訴我程式碼的作用。”
這一次,我的朋友能夠更好的解釋程式碼中發生的事情。其中的關鍵是他有花時間去逐步檢查每行程式碼而不是企圖一下子理解全部。
在這樣的情況下,思考地越慢實際上能讓你學地更快。
6.先用簡單語言編寫複雜程式碼
如果一段程式碼太複雜或者陌生,就先用簡單語言寫出來。這樣,你可以在實際編寫程式碼前弄清楚你想要程式碼做什麼。這種方法有兩個好處:
1.程式碼寫起來會更容易更快因為你不需要總是停下來去思考它該怎樣執行。
2.可以提前捕獲 bug 因為你很清楚程式碼的作用。
結論
我們已經瞭解了快速學習 JavaScript 的幾個方法,你也可以運用這些技巧去學習其他的技能。下面概括一下我們講的內容:
- 不要擔心將來的決定,要潛心學習。
- 用對待玩具的心態對待新技能會讓練習更加有趣。
- 就像玩 Facebook , YouTube 或者 Wikipedia 那樣,用小目標的方法找時間程式設計。
- 慢下來,步子小一點,你會學的更快。
你是怎樣學習的呢?你有沒有其他的一些祕訣或者技巧是我沒有提到的呢?或者你覺得這些都是瞎扯,而進步的唯一方法是一天投入12個小時。無論如何,我期待你們的評論。