一、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
时间: 2024-11-05 16:34:57