typeof null : 返回的是Object。
undefined
var temp;//var temp2;alert(typeof temp); //undefinedalert(typeof temp2); //undefinedalert(temp == undefined); //truealert(temp2 == undefined); //出錯
undefined不同於未定義的值,但是typeof並不真正區分這兩種值。如果函數沒有明確傳回值,則返回的值也是undefined。
null
alert(null == undefined); //true
undefined其實是從null派生來的,由上可以看出,但是兩者是有區別的:
null :表示無值,尚未存在的對象。
undefined : 表示一個未聲明的變數,
或已聲明但沒有賦值的變數,
或一個並不存在的對象屬性。
==運算子將兩者看作相等。如果要區分兩者,要使用===或typeof運算子。
使用 if (!object){} 就null和undefined的情況都包括了。
Number
八進位:var num = 011; //以"0"開頭
十六進位:var num =0x1f; //以"0x"開頭
alert(NaN == NaN); //false NaN 意思為 Not a Number
推薦使用 isNaN() 函數;
Infinity :表示無窮大
邊界值:Number.MAX_VALUE; Number.MIN_VALUE;
轉換
string類型也有toString()方法 Orz.....
Number的toString()方法可以帶參數 2、8、10、16 ,表示進位。例如:
var num=10;alert(num.toString(2)); // "1010"
parseInt() : 轉換第一個無效字元前的字串
Number() : 如果整個字串不能轉換,則返回NaN
parseInt("4.5.6"); // "4.5"Number("4.5.6"); // NaN