关于null == 0?返回false的问题

1.首先我们先看各种情况的结果:

  

null > 0? //=>false
null < 0? //=>false
null >= 0?  //=>true
null <= 0?  //=>true

由以上四种情况我们很容易推出 null == 0?的结果,什么呢?true?false?  其实答案为false,为什么?

1.首先null > 0; 和 null < 0; 的结果是将null转换为数字0来进行的比较判断;

  而判断null >= 0;时是靠null < 0 为false来判断的,如果 null < 0为fasle,则null > 0为true,所以null >= 0为true。

  反之,null  <= 0;为true同理。

2.但判断null == 0时,尽管 等号右端为数字,但null并未进行数值转换,所以此时,null为对象(空对象,无任何属性和方法),而0为Number类型,比较结果自然是false了。

参考链接:http://www.jb51.net/article/41421.htm

转载于:https://www.cnblogs.com/Walker-lyl/p/5264825.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值