Null類型
- Null值表示一個(gè)空對(duì)象指針。
var car = null;
alert(typeof car); //"object"
- 如果定義的變量準(zhǔn)備在將來用于保存對(duì)象,那么最好將該變量初始化為null。
- undefined值是派生自null值的,因此ECMA-262規(guī)定對(duì)他們的相等性測(cè)試要返回true:
alert (null == undefined); //true
alert (null === undefined); //false
Number 類型
八進(jìn)制
var octalNum1 = 070; //八進(jìn)制的56
var octalNum2 = 079; //無效的八進(jìn)制--解析為79
var octalNum3 = 08; //無效的八進(jìn)制--解析為8
浮點(diǎn)數(shù)值
var floatNum1 = 1.1;
var floatNum2 = .1; //有效,不推薦
var floatNum3 = 1.; //解析為1
var floatNum4 = 10.0; //解析為10
- 由于保存浮點(diǎn)數(shù)值需要的內(nèi)存空間是整數(shù)值的兩倍,因此ECMAScript會(huì)不失時(shí)機(jī)地將浮點(diǎn)數(shù)值轉(zhuǎn)換為整數(shù)值。
浮點(diǎn)數(shù)值
alert(NaN == NaN); //false
- isNaN()函數(shù)確認(rèn)參數(shù)是否“不是數(shù)值”。函數(shù)會(huì)嘗試將參數(shù)轉(zhuǎn)換為數(shù)值,任何不能轉(zhuǎn)換為數(shù)值的值都會(huì)導(dǎo)致這個(gè)函數(shù)返回true。
alert(isNaN(NaN)); //true
alert(isNaN(10)); //false
alert(isNaN("10")); //false 可以被轉(zhuǎn)換成數(shù)值10
alert(isNaN("blue")); //true 不能轉(zhuǎn)換為數(shù)值
alert(isNaN(true)); //false 可以被轉(zhuǎn)換為數(shù)值1
String 類型
- null和undefined沒有toString()方法。String()方法可以返回null和undefined的字面量。
操作符
布爾操作符
- 邏輯或
我們可以利用邏輯或來避免null或者undefined值:
var myObject = preferredObject || backupObject;
ECMAScript程序的賦值會(huì)經(jīng)常采用此賦值模式。