一 Undefined 类型 
只有一种值 undefined 
以下三种情况typeof 返回类型为undefined 
1. 当变量未初始化时 
2. 变量未定义时 
3. 函数无明确返回值时(函数没有返回值时返回的都是undefined) 
undefined 并不等同于未定义的值 
typeof 并不真正区分是否是未定义 
看以下示例代码: 
var oTemp; 
alert(typeof oTemp); // outputs "undefined" 
alert(typeof oTemp2);// outputs "undefined" 
alert(oTemp2 == undefined ); // 错误 oTemp2 未定义 不能使用除了typeof之外的不能用来oTemp2其他的运算 
当变量 
二 Null 类型 
只有一个null,undefined 是由null派生处理的,因此undefined == null 
undefined 是声明了但是没有初始化的该变量, 
null表示尚未存在的对象 
三 NaN 值 
是一个特殊值,表示非数(Not a Number) 
类型转换失败就会返回NaN 
e.g. 要把一个单词blue转换为数值就会失败因为没有等价的数值 
NaN 不等于自己 
即 NaN == NaN 是 false 
判断NaN 使用 isNaN();