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
The most hurt is day after day ,I find that myself is still myself.