打赏

null和undefined的区别

在JavaScript中,null和undefined几乎相等

 

在if语句中null和undefined都会转为false两者用相等运算符比较也是相等

null==undefined

//true  因为两者都默认转换成了false


alert(typeof undefined);
 //output "undefined"  

alert(typeof null); 
//output "object"  

null===undefined

//false   "==="表示绝对相等,null和undefined类型是不一样的,所以输出“false”

 

null和undefined基本同义,二者又有什么区别呢?

 

“null”表示没有对象,即该处不应该有值

 

  1) 作为函数的参数,表示该函数的参数不是对象

 

  2) 作为对象原型链的终点

 

“undefined”表示缺少值,即此处应该有值,但没有定义

  1)定义了形参,没有传实参,显示undefined

  2)对象属性名不存在时,显示undefined

  3)函数没有写返回值,即没有写return,拿到的是undefined

  4)写了return,但没有赋值,拿到的是undefined

 

null和undefined转换成number数据类型

null默认转成0

undefined默认转成NaN

 

posted @ 2017-08-17 11:32  Mr.姚  阅读(183)  评论(0编辑  收藏  举报