摘 —— JavaScript 中的參數傳遞是 Call by 什麼?

因為以前寫程式的時候偶爾會撞到這個雷,所以就有查了下。如果實際去搜尋,就會看到這篇 《深入探討 JavaScript 中的參數傳遞:call by value 還是 reference?》

原作者寫得非常好,但我覺得文章太長了。能寫出整個追查的脈絡還不錯,甚至還引了 Java 和 C/C++ 來對照,功力不夠還真無法寫出這篇文章。而我之所以寫這篇文,就是想簡單地彙整「JavaScript 中的參數傳遞是 Call by 什麼?」的結論。

重點

  1. 純值(Primitive types)是 call by value,會複製一份進函式中。
  2. 物件(Object)是 / 類似 call by reference,會把該物件丟進去,不過要注意
    1. 可以在函式中改這個 object 裡面的值。
    2. 直接改變用來 Ref 的變數的話,該變數就會指到新的 object,而不影響一開始被指導的 Object。
Continue reading “摘 —— JavaScript 中的參數傳遞是 Call by 什麼?”

學習使用 Git 的三個階段

使用 Git 好一段時間了,也協助了幾個朋友快速上手這個好工具。覺得也差不多可以寫一篇文章,記錄我自己從過去到現在各個階段的常用指令。

網路上也有許多優秀的 Git 教學,我這篇文章主要是想要大略分一下階段,這樣學起來的負擔也比較不會那麼大。

人生無法重來,但是 Git 可以。

使用 Git 的心態

這個工具的主要用途就是 版本控制,而會有這個控制的流程則有許多歷史因素,可以先不用去理解,之後有興趣再查,查了就會知道其中的奧妙。

另外,我一直都覺得要學習 Git 絕對要從使用 Command line 開始學,慢慢地覺得可以理解整個操作流程後再考慮使用 GUI 程式來輔助,才是比較好的順序。

Continue reading “學習使用 Git 的三個階段”

投資股票一年後,我的一些體悟

最近投資 股票 也接近一年了,開始有一點小小心得,便決定來寫一篇短文記錄一下。或許未來想法轉變時有個可以參考的、過去想法的對照組。

守株待兔、買低賣高、以逸待勞

因為我最開始看的股票工具書是艾蜜莉寫的,所以我自然而然就從她的操作方式開始學習。她的操作法也很容易讓人理解:

買便宜的股票,等它漲。

不漲就領股利,漲了就賺價差。

是什麼意思呢?

筆記 — 找到時間成為更好的開發者 (Time Management)

這篇文章是關於 Time Management 的筆記。很久以前看過這篇 finding-time-to-become-a-better-developer,但因為太久遠所以讀了什麼都忘光光。為了節省未來自己的時間,便做了這篇筆記,也把他放出來,或許能幫助到誰。

找到時間成為更好的開發者

Continue reading “筆記 — 找到時間成為更好的開發者 (Time Management)”

JavaScript hoisting 是什麼?寫個筆記記錄一下

最近讀了海總的《本末倒置的閱讀習慣》,發現自己也有這個壞習慣。 想要來好好地注意這個問題,避免只砸時間在不用細讀的文章。剛好小蟹分享了這篇 《我知道你懂 hoisting,可是你了解到多深?》 給我,便決定在舒服的假日午後好好地閱讀一下,以便能好好地了解 javascript hoisting 是怎麼一回事。

而這篇文章就是在記錄自己閱讀過程中的 murmur,順便摘一下, 略微地希望可以替未來的自己省下重新閱讀的時間。

Continue reading “JavaScript hoisting 是什麼?寫個筆記記錄一下”