Javascript 中 null,NaN和undefined的区别
一 Undefined 类型
只有一种值 undefined,以下三种情况typeof 返回类型为undefined
当变量未初始化时
变量未定义时
函数无明确返回值时(函数没有返回值时返回的都是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();