JavaScript Bind Call Apply

認識 bind, call, apply 這三個方法之前,先說說 functionthis

function 是 object

在 JavaScript 裡,幾乎所有的東西都是 object,function 也不例外。

繼續閱讀

用不同的寫法來實作 Todolist

為什麼大家都在做 TodoList?

因為 Todolist 包含完整的 CRUD 行為,又功能需求不複雜,很適合當作小專案來練習。

最近六角學院的公開活動 Vue3 夏令營,還有自己練習 JavaScript 的關係,用不同的寫法實作 Todolist 後,總結出上述的心得。

在這裡記錄一下寫法上的差異。

繼續閱讀

JavaScript 變數作用域 Variable Scope

變數的作用域(Scope)

作用域是指變數的有效範圍。

常聽到的全域變數(global variable)通常是指:全域變數是不在任何function(){}內的變數,換句話說,全域變數是在任何地方都可以用的變數。

全域變數相反,function(){}內的變數稱為區域變數(local variable)

繼續閱讀

JavaScript 變數提升 Variable Hoisting

變數的提升(Hoisting)

在其他程式語言裡面,程式碼是逐步執行的,所以「把要做的事情放在宣告之前」,就會出錯。

但在 JavaScript 並不會出錯,因為執行程式碼之前,會先把宣告的函式或變數放到記憶體中,直到程式執行的時候,函式或變數就已經存在了。(感覺像是宣告的東西被提升到要做的事情之前,但實際不是)

要做的事情放在宣告之前,仍然可以繼續執行的現象叫做提升(Hoisting)

繼續閱讀

CSS Flexbox 屬性及用法

Flexbox 是什麼?

早期用 Box model 排版的時候,要用很多種方式來避免畫面跑版,但隨著時代進步,不同的裝置有不同的解析度,若每個裝置都要重新設計版面也太麻煩了!於是 Flexbox 就誕生啦!

Flexbox 解決了早期的排版問題,能夠隨著不同裝置來變化排版,可以自適應不同裝置的長寬稱為響應式布局(RWD)。

網路上有很多解釋 Flexbox 的文章,這裡主要說明 Flexbox 相關的屬性及用法。

繼續閱讀