JS 變數、值與型別
介紹JS 變數、值與型別
01 02使用 Chrome開發者工具、vscode撰寫 JS,講解變數、變數,與型別。
開發者工具
使用ctrl+shift+I開啟開發者工具(檢查)上面列中點選console輸入js
程式如何運行
首先我們先了解,如何運行,我們需要撰寫電腦看得懂的語言,撰寫的程式會透過編譯器傳換成電腦語言,如果符合規則就運行,不符合就退回,而運作類似如下:
使用var進行變數宣告
在這裡,一開始我們先使用var做宣告,而var宣告變數的意思,尚未輸入值之前,瀏覽器會顯示undefined,原因為JS為變數保留記憶體位置,然後再把這個記憶體位置指向即將賦予這個變數的值,另外在程式世界中,”=”是指派的意思,而輸入typeof可以判斷類型。
宣告變數的規則:
- 只能用 $、_及字母做開頭,不可以使用數字(EX.123:X:、a123:O:)
- 變數名稱大小寫有區別,A跟a視為兩種變數
- 不能使用保留字(EX.var、let、const、function等)
下圖中我指派x=1(第二列),因此在第三列我輸入x時,將顯示x為1,同理於y,指派為2,因此第五列,x+y為三
備註
書籍008天重新認識javascript提及,
- 強烈不建議在未使用var宣告的情形下直接賦值,儘管一時可以得到值,但會有後遺症。
1
2
3
4m=1
>console.log(m);
< 1
//雖會出現值,但不建議。 - 1.var可以再次宣告(後者覆蓋前者值)2.let不可以再次宣告
參考:JavaScript 宣告: var、let、const、
【JS】JavaScript語句和宣告之let,const、
JS學徒特訓班 JavaScript ES6 : var, let, const 差異
03 04第一種型別「 Number 數字」 ,JS 的數字跟其他語言有什麼不同?
在javascript中,整數及浮點數typeof皆為number,並無差別,而python有區別
- 整數 Integer
- 浮點數 float
05 浮點數的陷阱
看山不是山看海不是海,0.1+0.2並不等於0.3,實際為0.1+0.2=0.30000000000000004,為浮點數誤差問題。首先要搞清楚 JavaScript 如何儲存小數。和其它語言如 Java 和 Python 不同,JavaScript 中所有數字包括整數和小數都只有一種型別 — Number。它的實現遵循 IEEE 754 標準,使用 64 位固定長度來表示,也就是標準的 double 雙精度浮點數(相關的還有float 32位單精度)。[color=#00ba72]
參考來源:JavaScript 浮點數陷阱及解法、從 IEEE 754 標準來看為什麼浮點誤差是無法避免的、Why 0.1 + 0.2 === 0.30000000000000004: Implementing IEEE 754 in JS同樣可能被浮點數雷的語言也包括:Python、c/c++、Java、Rust
06 第二種資料型別「字串 String」
字串是由字母、數字、文字、符號所組合而成,在指定宣告時要在前後加上對稱的單雙引號(‘’/“”)。
以下為宣告方式不同,number與string產生不一樣的結果。
07 第三種資料型態 「Boolean 布林值」
布林值包含了true和false,當答案是真假、是否、開關等,兩種選擇可以使用。
08 第四、第五種資料型別「null 空值」與 「undefined 未定義」
null空值,需要指派,意思為我預期他是空值
undefined未定義,還沒指派,意思為我還沒給他指派,不過深入的探討,同時他也是值。