js 中null和undefined的区别和用法

js中,每次想知道一个对象是否为空时,首先想到的判断条件是"o==null",但转念一想,感觉还不大安心,又加上“||o== undefined”,这样终于

心满意足了!这就侧面表现出我对null和undefined认知的不足及不自信。而每次查了资料,看过之后又给忘了,所以这里姑且做个笔记!

1.null表示一个对象不存在,即“没有对象”;undefined表示基本类型或对象的值没被定义,也就“缺少值”!所以要判断一个值是否存在可以这样:

[javascript]  view plain  copy
  1. objA.valueA === undefined  

而要判断一个对象是否为空可以:

[javascript]  view plain  copy
  1. objA.valueA == null  


2. null和undefined在js中其实没多少区别,比如:

[javascript]  view plain  copy
  1. var a = null;  
  2. var b = undefined;  
  3. if (a == b) {  
  4.    alert("一般来说null和undefined在if语句中是相等的");  
  5. }  
  6. if (!a) {  
  7.    alert("null会转为false");  
  8. }  
  9. if (!undefined) {  
  10.   alert("undefined会转为false")  
  11. }<pre name="code" class="javascript">alert(typeof undefined);//undefined  
  12. alert(typeof null);//object  

 

3.我们写js时,可以设置一个值为null,但不可设置一个值为undefined,即

[javascript]  view plain  copy
  1. objA.valueA = undefined;//valueA已存在,再给它设置为undefined肯定不合理嘛。  
咱们回过头再看这一句:

[javascript]  view plain  copy
  1. if (o == null || o == undefined) {  
  2.   
  3. }  

这一句就是说,如果对象o为空或其值没定义的话,就执行代码块中的内容,所以这样判断也是可以的。


转载来自:http://blog.csdn.net/jiangzhongwei_/article/details/52032820


参考:http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值