JavaScript Undefined,Null类型和NaN值区别

一 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();