JavaScript中undefined和null的区别

JavaScriptundefinednullundefined表示没有数值,在使用var 声明变量但未对其加以初始化时,这个变量的值就是undefined

null:表示有数值,但是数值为“空”.

1. 两者的声明

声明但未定义:undefined;

1 var a;
2 console.log(a);    // 执行结果:undefined

 

声明且定义为null;

1 var b = null;
2 console.log(b);    //执行结果:null

 

2. typeof类型不同

undefined的类型是undefined

null类型是object

1 console.log(typeof(undefined));  //执行结果:undefined
2 console.log(typeof(null));       //执行结果:object

 

3. 转化为数值的类型不同

undefined转化为数值是NaN

null转化为数值是0

1 console.log(Number(undefined));        //执行结果:NaN
2 console.log(Number(undefined+10));     //执行结果:NaN
3 
4 console.log(Number(null));             //执行结果:0
5 console.log(Number(null+10));          //执行结果:10

 

4. 两者之间 == ===

==运算符比较:先判断两侧内容的数据类型,如果数据类型不同,会自动转化为相同类型,再进行比较;

===运算符比较:比较两侧内容的数据类型以及值,如果两侧内容数据类型不同,直接就是false,不会执行数据类型自动转化;

1 console.log(undefined == null);     //执行结果:true
2 console.log(undefined === null);    //执行结果:false

 

 

逆战班

posted on 2020-03-15 14:43  feelyourbreathhh  阅读(213)  评论(0)    收藏  举报