俗話說:「人不可貌相,海水不可斗量。」就像我們看到郭靖傻不楞登,怎麼知道他武功高強。楊康外表英俊,能言善道,卻一肚子壞水。
變數也跟人一樣,從外觀無法判斷內涵。變數本身沒有型別,它所裝的「值」才有型別。
變數的型別可以分為基本型別 (Primitives) 與 物件型別(Object) 兩類。
變數的基本型別有以下5種:
最重要的是,除了以上幾種之外,其他都是「物件」。
字串必須用2個單引號''或是2個雙引號包住,二者不可混用。
字串內也可以不放任何字元,稱之為空字串。
字串可以使用+號與其他字串連接。
//字串(string),必須要放在''或是""之中
var guoJing = '降龍十八掌';
//空字串
var guoJing = '';
//字串連接可以使用+號
var huangRong = '黃蓉'+'打狗棒法';
//兩個單引號包覆單引號,會出錯
var yangKang = 'He's a bad man';
//改用雙引號包覆單引號,就沒有問題
var yangKang = "He's a bad man";
不管是整數還是帶有小數點的浮點數在JavaScript中都屬於數字這個類型。
//數字(number),玉山有3952公尺
var jadeMountain = 3952;
但是數字number中有幾個比較特別的類型:
我們可以使用isNaN()來檢查一個變數是不是NaN。
//infinity
console.log(3/0);
//-infinity
console.log(-3/0)
//NaN
console.log(0/0);
//檢查是否為NaN
isNaN('降龍十八掌') //NaN
boolean只有二種值:true 和 false。主要用在判斷式,作為程式流程控制之用。
var real = true;
var fake = false;
var more = (100 > 50); //true
任何值都可以轉為布林值,但我們只要記得會轉為false的值就可以了。
以下幾種會轉為false:false、0、空字串("")、NaN、null以及undefined。
除了上述幾種,其他的值皆為true。
試試看用Boolean()函數將值轉換為布林值:
Boolean(1); //true
Boolean(0); //false
Boolean(""); //false
Boolean(null); //false
null代表「空值」,所以要將一個變數的值清除?可以指定那個變數為null。
//郭靖本來的內力值為100分
var guoJing = 100;
console.log(guoJing); //100
//郭靖中毒後,一點功力都提不起來,內力值為0
var guoJing = null;
console.log(guoJing); //null
undefined指的是變數未經宣告,且沒有賦值;或者是有宣告變數,但是沒有給定值的狀態。
var x;
console.log(x); //undefined
引用許國政先生在《0 陷阱!0 誤解!8 天重新認識JavaScript!》為undefined以及null下的註解:
『
』
以上就是JavaScript的五種基本型別。