码迷,mamicode.com
首页 > 其他好文 > 详细

null,undefined,NaN的区别

时间:2017-09-10 13:35:16      阅读:385      评论:0      收藏:0      [点我收藏+]

标签:blog   eof   type   转换   logs   col   false   常用   div   

一、null

null表示尚未存在的对象,转为数值时为0。它表示"没有对象",即此处不该有值,常用来表示函数企图返回一个不存在的对象。null是一种特殊的object(引用类型),代表一个不确定的对象,但从null本身来说,它既不是对象,也不属于什么类型。

typeof null  //"object"
typeof(null)  //"object"
null instanceof Object  //false

null  //null
~null  //-1
~~null  //0
!null  //true
!!null  //false
+null  //0
-null  //-0
void(null)  //undefined

二、undefined
undefined是一个表示"无"的原始值,转为数值时为NaN。当声明的变量还未被初始化时,变量的默认值为undefined。undefined表示"缺少值",即此处应该有一个值,但是还没有定义。

typeof(undefined)  //"undefined"

undefined  //undefined
~undefined  //-1
~~undefined  //0
!undefined  //true
!!undefined  //false
+undefined  //NaN
-undefined  //NaN
void(undefined)  //undefined

运算时null与undefined都可以被类型转换为false,但不等值于false。undefined与null相等,但不是全相等。
三、NaN
NaN是一种特殊的number,NaN与任何值都不相等,与自己也不相等。

typeof(NaN)  //"number"

NaN  //NaN
~NaN  //-1
~~NaN  //0
!NaN  //true
!!NaN  //false
+NaN  //NaN
-NaN  //NaN
void(NaN)  //undefined

 

null,undefined,NaN的区别

标签:blog   eof   type   转换   logs   col   false   常用   div   

原文地址:http://www.cnblogs.com/camille666/p/js_null_undefined_NaN.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!