Tim

@wheat0120

Joined on Oct 6, 2018

  • 什麼是 Memoization ? 記憶函式 ( Memoization ) 是一種優化程式技巧,把需要大量計算 ( 長遞歸、長迭代操作 ) 的函式將其參數與結果緩存 ( Cache ),若調用記憶函式且給予相同參數時,不須經過計算程序,直接回傳相同結果。 沒有 Cache 機制的程式 假設有一個工人,這位工人需要去倉庫拿工具 ( getTool ) 來完成他的工作 ( task ) : function getTool (task) { console.log('前往倉庫拿取工具') return task + '工作完成' }
     Like 2 Bookmark
  • 開始之前 JavaScript 引擎是 單執行緒 ( Single Thread ),也就是 一次只做一件事 / 一次只執行一段程式碼。 瀏覽器不只有 JS 引擎,也就是整個瀏覽器並不是只由 JS 引擎組成,而一個分頁 ( Tab ) 僅存在一個 JS 引擎運行 JS 程式。 瀏覽器是屬於多程式多執行緒,因此可以在瀏覽器中做出非同步行為。 Event Loop 顧名思義,就是一個 Loop ( 循環 ),會持續檢查執行堆疊 ( Call Stack ) 有沒有 Callback 可以呼叫。 瀏覽器核心組成示意圖 瀏覽器核心組成示意圖 JavaScript Runtime ( JavaScript 執行環境 )
     Like 2 Bookmark
  • JavaScript - Promise :::spoiler 目錄 ::: 故事是這樣的 ... 在古老的 ES5 時代,農夫每天辛勤工作,但是辛苦種下的程式碼卻每天遭受蟲子的侵襲,一名身處在那個時代的農夫曾說 ... 「我宛如身在十八層 Callback Hell」。 農夫們痛苦不堪,不過為了生活,只能咬著牙使用一個叫 console.log 這個笨重的工具每天到田裡除蟲,但是蟲子就好像無性生殖的生物一樣,消滅一個,來了兩個,直到某天 ...
     Like 3 Bookmark
  • Call() & Apply() 運用 Function 調用方式 fn(arguments) ( 一般調用,屬於語法糖 ) fn.call(this指向, arguments) ( 隱式調用 ) fn.apply(this指向, [arguments]) ( 隱式調用 ) function test() { console.log('test') }
     Like  Bookmark
  • 開始之前 在學習 JavaScript 路上,免不了要熟悉所謂 傳值 ( call by value ) 以及 傳址 ( call by reference ) 的觀念 (當初因為不熟悉這鬼東西放棄JS好幾次) 先感謝 六角學院 讓我透過直播班有機會探討這個主題,寫下第一篇公開的技術筆記。 這篇筆記我會以比較實作的方式,探討 變數 ( Variable )、記憶體位址 ( Memory Address )、值 ( Value ) 之間的三角關係,讓我們開始吧 ! 基本型別 ( Primity type ) 先讓我們暖身一下 :
     Like 4 Bookmark
  • 前置作業 請建立一個 database,並建立一個 posts collection 將此 JSON 資料,透過 Compass 倒入到 posts collection 貼文集合欄位介紹 - name:貼文姓名 - image:貼文圖片 - content:貼文內容 - likes:按讚數
     Like  Bookmark
  • forEach / map / filter / find / some / every / sort / reduce Array.forEach(函數) 對每個元素執行動作 將陣列元素一個一個抓出來 帶入函數執行 陣列元素如果是物件可以變更 會修改原陣列,不會產生新陣列 // example const books = [
     Like  Bookmark
  • 17. 資料型別(Data Types) data types (種類) 資料型別 整數 integer int 浮點數 float 布林值 boolean bool (True, False) 字串 string str 'Tim' 19. 第一次上傳到GitHub
     Like  Bookmark
  • {%youtube yooAExm_xGg %} 練習記錄 目前自己最快紀錄 02m 55s ( 我比較沒創意,邏輯是參考別人的QQ,覺得這個邏輯蠻順的... ) 小訣竅 輸入法改 ENG 鍵盤 或 鎖定英文輸入法,才不會不小心按到 Shift 變中文。
     Like 7 Bookmark
  • {%youtube JsPjNJONyd4 %} 重點筆記 不要隨便挑戰程式的極限 Math.max() < Math.min() // true 0.1 + 0.1 + 0.1 // 0.30000000000000004
     Like  Bookmark