null
表示该变量的值为空
undefined
表示该变量未定义
- 转换为数值时:
null
被转换为0
undefined
被转换为NaN
(not a number) - 出现
undefined
的情况:- 声明了变量但是没有赋值
var i;
- 应该给函数提供的参数没有提供
function fun(x){return x}
fun();
- 函数没有返回值 function(){}
- 声明了变量但是没有赋值
null == undefined // true
null === undefined // false
- 转换为布尔值时,二者均为fasle
另外还有:0
、''
、""
、NaN
、false
在布尔判定时均为fasle
其他所有值都为true,包括空数组和空对象([]、{}
)