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