null和undefined都是无的意思,两者说来上没有什么区别;
在对两者进行等值运算的时候,返回的还是一个true
console.log(null==undefined)//true;
在 if 语句中 null 和 undefined 都会转为false;
但既然出现了这两种类型,那还是有他们本质的区别的,在javaScript的最初定义的是:null是一个空对象,在装换为数值的时候是0;undefined是未定义变量,在转换为数值的时候是NaN;
现在两个的用法:
nll表示一个对象,表示此处不应该有值
undefined表示缺少值,即此处应该有值,但没有定义
返回undefined的情况:
1.定义一个函数,但是函数内部没有返回值,即没有return回来东西,会出先undefined得情况
2.定义一个变量,但是没有给变量赋值,这时候检测变量,会得到undefined;
3.需要传参数的函数,没有传实参,这时候会得到undefined;
详细解释我们可以参考阮一峰的日志;