1.基本數據類型 string number boolean undefined null(只講undefined null) 2.undefined 未定義 只有一個值就是undefined。 3. null 空 4.undefined和null比較 5. NaN (not a number) 不 ...
1.基本數據類型 string number boolean undefined null(只講undefined null)
2.undefined 未定義
只有一個值就是undefined。
var num;
console.log(num); //如果一個變數有聲明沒有賦值,那麼這個變數的值就是undefined。
//註意:如果使用了一個沒有聲明的變數,那麼就會報錯。
console.log(age); //age is not defined
console.log(typeof undefined); //undefined
3. null 空
//a.變數在任何時候都不會是null值,除非手動設置。
var num1 = null;
//b.如果有一個函數,如果他返回一個對象返回失敗了,那麼返回的也是null。 getElementById("id名");
console.log(typeof null); //object
console.log(Object.prototype.toString.call(null)); //[object Null]
4.undefined和null比較
console.log(null === undefined); //false
console.log(null == undefined); //true
5. NaN (not a number) 不是一個數字
5.1 NaN是一個number類型裡面的一個特殊的的數值-是計算錯誤得到的一個結果。
var num1 = "abc";
var num2 = 10;
var res = num1 - num2;
console.log(res); //NaN
console.log(typeof res); //number
console.log(isNaN(res)); //true
5.2 NaN 永遠不等於其他的值,包括他自己本身
console.log(NaN === 123); //false
console.log(NaN === NaN); //false
6. isNaN(); 判斷某一個值是否是NaN'
// a.如果你是一個數字,就不是一個NaN,,那麼isNaN就是一個false。
var num = 123;
console.log(isNaN(num)); //false
//b.如果你不是一個數字,就是一個NaN,那麼isNaN就是一個true。
var num = "abc";
console.log(isNaN(num)); //true
// c.isNaN在判斷的時候,也是會有一個隱式類型轉換。
var num1 = "123";
console.log(isNaN(num1)); //false
var num2 = "123abc";
console.log(isNaN(num2)); //true