null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。

NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

 

null:

表示没有值,但是null本身是一个object  在控制台执行  typeof  null  的结果是object 

1 var ob={};
2 console.log(ob)

 

结果是:Object {}

 

var ob;

typeof ob;

 

或者:

var ob=null;

typeof ob;

 

结果都是:  object



 

nan

某些算术运算(如求负数的平方根)的结果不是数字。方法 parseInt() 和 parseFloat() 在不能解析指定的字符串时就返回这个值。对于一些常规情况下返回有效数字的函数,也可以采用这种方法,用 Number.NaN 说明它的错误情况

如:

Math.sqrt(-1);

 

结果为:NAN

var  num=1;

num.NAN;

console.log(num);

 

执行结果为:

undefined

但是执行isNAN(1)  结果为false (isNAN的执行结果永远是布尔型)

 

undefined:

undefined对应类型undefined,布尔型false,字符串undefined,数字计算结果一定是NaN

1+undefined;

 

执行结果为: NAN

posted on 2015-02-04 16:29  onedayof2010  阅读(259)  评论(0编辑  收藏  举报