JavaScript null 和 undefined区别

题记:在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 会使程序过于复杂。

猜你喜欢

转载自blog.csdn.net/u011563903/article/details/50358456
今日推荐