题记:在java中判断对象是否为空,直接用obejcet==null 就可以判断,但是在js有null和undefined,所以今天总结一下,弄个明白。第一次用Markdown写博客,纪念一下。
1. 相似性
在js中,将一个变量赋值为undefined或者null在某种程度讲是没有区别的,如下:
var a = undefined;
var b = null;
undefined和null在if语句中,都会被自动转为false,并且相等运算直接报告两者相等。
if (!undefined)
console.log('undefined is false');
// undefined is false
if (!null)
console.log('null is false');
// null is false
undefined == null
// true
2.不同点
null:表示没有对象,即该处不应该有值。
undefined:表示没有定义,变量被声明了,但是还没有赋值时,就等于undefined
其中判断undefined也是经常用到的,如果从前端想后台发送数据并且返回,判断是否收到的数据,其中var get=sendReg(url,query),如果判断是否get有值,则可以通过:
if(typeof(interval)=="undefined"){
alert(interval);
}
其中typeof返回类型有”number” 、”string”、”boolean”、”object”、”function”、”undefined”六种,注意判断的方式。另外有的同学会用:
var get = undefined;
if (get == undefined)
{
alert("undefined");
}
但是当exp是null的时候判断出的也是和undefined相同。所以建议采用上中方式去判断undefined类型。
我们在 DOM 应用中,一般只需要用 :
var get= null;//或者get=undefined
if (!get)
{
alert("is null");
}
来判断就可以了,因为 DOM 应用中,可能返回 null,可能返回 undefined,如果具体判断 null 还是 undefined 会使程序过于复杂。