0%

相等與隱含轉型

嚴格相等

嚴格相等會判斷等號兩邊的 型別 皆相同
以下為特例,NaN 為非數值,所以不管是嚴格或是寬鬆相等都會回傳 false

1
2
console.log(NaN === NaN)    // false
console.log(+0 === -0) // true
閱讀全文 »

陳述式與表達式

陳述式:用於執行指令的操作,最大的特徵是 不會回傳結果

陳述式舉例:
(1) block { … }
(2) if…else
(3) switch
(4) var let const
(5) for 迴圈等等

表達式:又稱為運算式,是任何一段可以透過 運算子 取得一個值 (會回傳結果) 的程式碼

運算式舉例:
(1) x = 1,使用「=」運算子將 1 的結果賦予給 x 的變數
(2) 3 + 4,「+」是運算子,雖然沒有指定變數,但是會回傳結果 7

閱讀全文 »

DOM

DOM 全名為 Document Object Model 中文翻譯為 文件物件模型。
其實就是把 HTML 文件內的標籤、文字、圖片等等都定義成物件,而這些物件會形成一個樹狀結構,並且可以利用 JavaScript 來對 HTML 文件進操作和互動。
Image

閱讀全文 »

執行堆疊 Call Stack

JavaScript 是一種單執行緒的程式語言,也就是一次只能做一件事情,程式碼也是一行一行執行。
當呼叫函式時會產生執行環境,如果函式執行環境內還有其他函式被呼叫,就會產生另外一個執行環境,形成「執行堆疊」(Call Stack),在上層執行環境結束之前,下層包含全域的執行環境內的程式碼就會被暫停。

閱讀全文 »

關注點分離

關注點分離(Separation of Concerns,SoC)就是將程式碼依照各種「目的」、「功能」進行分類和整理,讓每個區塊專注於各自負責的工作,彼此分工合作。
這麼做的優點是可以將程式碼進行切割,依照需求各自獨立處理,並讓程式碼單純化。
為了更清楚理解關注點分離應用,來實作一個簡單的 Todolist。

閱讀全文 »