從今天起構建你的JavaScript世界

童歐巴發表於2020-09-23

觀感度:?????

口味:酸辣無骨鳳爪

烹飪時間:5min

本文已收錄在前端食堂同名倉庫Github github.com/Geekhyt,歡迎光臨食堂,如果覺得酒菜還算可口,賞個 Star 對食堂老闆來說是莫大的鼓勵。
  • 現在的筆試題讓手寫xxx原理,程式碼太多了,記不住怎麼辦?
  • 要如何深刻理解 JavaScirpt 中的各種概念呢?
  • 。。。

這些問題是交流群中同學們的提問,相信或多或少的同學們都經歷過這個階段。想要解決這些問題,我決定先從一本書說起。

《如何高效學習:1 年完成麻省理工 4 年 33 門課程的整體性學習法》

一位名叫斯科特·楊的精神小夥兒因快速學習而成名,他將自己的學習方法全部總結到了這本書裡。

當然,除了掌握方法以外,還要做到時間管理上的極度自律,這裡還是要向羅老師學習。

拉回來,書中提到了很多的方法,感興趣的同學們可以去閱讀。

正如我讀完後在書評中所寫道:每個人的學習方法都不同,高手與菜鳥的成長軌跡也不同。挑選這本書中真正適合自己的方法才是最好的。

這裡我們先拋開書中提到的一些概念,抽取書中一些我認為有用的方法來看一看。

書中所強調的整體性學習是一種學習理論,不同於機械記憶。比如,不斷的在腦海中重複數十次來記憶一段古詩詞或是物理公式,這就是機械的記憶。

(這裡吐槽一下高中的語文老師,告訴我們背古詩詞的時候就是要死記硬背,機械記憶,讀 100 遍肯定能背下來。人無完人,只是單純吐槽這一點,還是要感謝老師的教育。)

所以,無論什麼時候,擁有獨立思考的能力都是很重要的。當時的我還是按照自己熟悉的方式去背古詩詞,並沒有機械記憶,以至於我的語文成績一向很好,語文成績幸運的拿到過全校第一。

事實上,知識的學習從來就不是孤立的。

拿計算機和人腦相比,計算機本質上儲存的不過是 0 或 1,而人腦中是通過數十億個神經元相互聯絡儲存資訊的。整體性學習正是要利用你大腦中已有的豐富神經元網路,對資訊進行吸收、整合。

你創造的聯絡越多,這些資訊就會理解的越好,記憶的越牢。所以,我們需要建立屬於自己的知識網路,從而達到高效學習。

那麼,問題來了,如何創造關聯呢?這種方法我們早在幼兒園的時候就已經在學習了。

那就是比喻。

比喻就是在你不熟悉的領域和你熟悉的領域間建立起一座橋樑。

拿我們最熟悉的 JavaScript 中的基本資料型別來舉例:

JavaScript 的資料型別包括原始型別和物件型別:

原始型別:Null、Undefined、Boolean、Number、String、Symbol、BigInt

物件型別:Object

(我們習慣把物件稱為引用型別,當然還有很多特殊的引用型別,比如Function、Array等)

我們知道,原始型別值是不可變的。

let str = '前端食堂';

str[0] = 6;

console.log(str); // 前端食堂

不難看出,我們無法更改字串的值。但是如果像下面這樣更改呢?

let str = '前端食堂';

str = '前端食堂老闆是童歐巴';

console.log(str); // 前端食堂老闆是童歐巴

這不就改變了嗎?其實不然。

JavaScript 中的原始型別值被儲存在棧中,上面的操作只不過是在棧中新開闢了一塊記憶體空間用於儲存新的字串而已,然後將 str “指” 向了新的字串所在的記憶體空間,原來的字串是沒有變的。

而引用型別不再具有不可變性,我們可以很容易的更改他們。

obj.name = '前端食堂';
obj.age = '18';

那麼我們如何使用比喻法來加深對 JavaScript 中基本資料型別的理解呢?

來到了前端食堂,我們不妨加入一些人間煙火氣,一起做一道菜!

酸辣無骨鳳爪!

原始型別就是鹽、生抽等調料,無法改變,想用就用。

物件則是做無骨鳳爪需要的主要食材,也就是鳳爪,首先我們需要將鳳爪用清水泡 20 分鐘後將指甲剪掉,然後鍋里加入薑片、料酒和鳳爪,水燒開後再煮 10 分鐘。期間記得撈出血末,煮熟後的鳳爪需要再冰水中泡半個小時,鳳爪的口感會更加的 Q 彈,接下來就是這道菜最耗時的一步,將鳳爪的骨頭剔出來。最後,準備一碗靈魂醬汁,根據個人喜好加入鹽、生抽、白糖等調料和檸檬片,將鳳爪與醬汁拌勻,蓋上保鮮膜放入冰箱保鮮,兩個小時後你就得到了一份酸辣無骨鳳爪。

  • 原始型別的不可變性:鹽、生抽
  • 物件:我們可以對鳳爪進行各種處理

這樣理解起來,是不是會更加深刻呢?你也可以將它們比喻為你更熟悉的事物,構建屬於你自己的知識網路。

書中還介紹了一些關於比喻法的實操步驟,做起來也不難,如下幾點,提供給你借鑑:

  • 明確概念
  • 建立影像
  • 讓影像動起來
  • 新增感官
  • 加入情感
  • 不斷優化

本文算是開了個頭,希望這些感悟可以幫助你將難理解的抽象概念用比喻法進行消化吸收,構建屬於你自己的 JavaScript 世界!

不多說了,我去吃鳳爪了。大家週末愉快~

❤️愛心三連擊

1.如果你覺得食堂酒菜還合胃口,就點個贊支援下吧,你的是我最大的動力。

2.關注公眾號前端食堂,吃好每一頓飯!

3.本文已收錄在前端食堂 Github github.com/Geekhyt,希望能得到你的小星星鼓勵。

相關文章