
用來儲存資料和進行運算的單位。
命名規則
- 字首必為大小寫英文字母(大小寫區分)、底線、$,後面可接大小寫英文字母、底線、$或是數字。
- 命名時不可以是保留字或是關鍵字
- 關鍵字
具有特定用途。
例如: break / else / do / var / new / while / function / this ...等等。- 保留字
有可能在將來作為關鍵字使用所以預先保留起來。
例如: short / boolean / export / class / float / goto ...等等。
當要宣告變數時,使用var。但在ES6之後還可以使用 let 和 const來做宣告。
var n ; //宣告變數但未給值
console.log(n); //undifined
var m = 30 ; //宣告變數同時也給了值
console.log(m); //30
console.log(hihi); //未宣告就使用會出現referenceError
x = 1; //未宣告直接給值會自動變成全域變數
console.log(x); //1
「型別」是固有的、內建的特徵,能唯一識別特定值的行為。主要分成兩種型別,「基本型別」以及「物件型別」。
- string 字串
- number 數字
- boolean 布林值
- null 和 undifined
- object 物件
var title1 = '我是字串呦' ;
console.log(title1); //我是字串呦
var str = 'let\'s go!' ; //利用跳脫字元(\)來分開
var hi = 'hello' + 'world' ; //利用+來連接字串
var long = '這不是一行 \
底下還有\
最後一行了' ; // 利用\來做連接
//es6之後增加了模板字串,由反引號`和$以及{}所組成。
var age = 24 ;
var word = `I am ${age} years old` ;
console.log(word) ; //I am 24 years old
//甚至還可以內嵌計算式
var a = 5 ;
var b = 6 ;
console.log(`c is ${a+b}` ,`${2 * a + b}`) ; //c is 11 , 16
var a = 66 ; //整數
var b = 66.66 ; //小數點
// infinity 和 -infinity 分別等於數學上的無限大和負無限大
// 一個整數除以0會得到infinity , 同樣的一個負數除以0會得到-infinity
// NaN在js裡面是個相當有趣的存在,就字面上而言,他並不是個數字,但若用typeof運算子來判斷時,他又會顯示是number。
// 簡單來說,NaN是一個無效的數字,因此他和任何數字去做運算最終也會得到NaN,又可以說他不等於任何的數字,甚至是他自己。
var a ;
console.log(a) ; //undifined,已宣告但未給值
var b = null ;
console.log(b) ; //null,明確表示此變數沒有值
//簡單來說,undifined表示這個變數已經宣告了但還沒有給值,所以不知道是什麼。
//null則表示這個變數可能曾經有值,也可能曾經沒有值,但可以知道的是他現在是沒有值的。