为了账号安全,请及时绑定邮箱和手机立即绑定

各位老师好!比较运算符和逻辑运算符有什么区别呀?

各位老师好!比较运算符和逻辑运算符有什么区别呀?

慕粉5341116 2019-09-23 10:03:38
各位老师好!比较运算符和逻辑运算符有什么区别呀?
查看完整描述

1 回答

已采纳
?
橋本奈奈未

TA贡献436条经验 获得超108个赞

比较顾名思义,是用来比较两个值的,所以“>” "<" "==" 就是比较运算符,比如“a>b”指的是a大于b,运算的结果是布尔值,也就是true或者false,意思也很直白,就是比较的结果是不是对的,真就是对的意思。比如

1 > 2 // false,所以这个比较的结果是错误的,好比数学上说的这是假命题

逻辑运算符是用来布尔运算的,它同比较运算符一样也是两个值的运算,“&&”“||”"!"对应的就是逻辑与、或、非,比如“a&&b”就是a与b,这个概念是来自物理学上的电路的,感兴趣可以去了解下,数字电路有0和1,“与门”的意思是都为1的时候输出信号“1”,而在计算机中,布尔型有true和false,正好对应1和0,所以“a&&b”的结果取决于两个值的真和假,都为真时结果为真,而在JS中,真值和假值不一定就是true和false,JS是动态类型的,会有隐式的类型转换,所以你可能会看到

"0"&&1 // 为TRUE
var a = {x:1}
a && 1 // TRUE

TRUE的情况比较多,你可以搜一下JS中的假值都有哪些。

查看完整回答
反对 回复 2019-09-23
  • 慕粉5341116
    慕粉5341116
    谢谢你的回答!想问一下"0"&&1 的结果为什么为TRUE var a = {x:1} a && 1 的结果为什么为TRUE.这两个我有点理解不了
  • 橋本奈奈未
    橋本奈奈未
    我不是说了,JS中有一些值被认为是真值,有一些是假值,比如空字符、数字0、布尔false、null、undefined都是假值,也称为Falsy值。具体可以搜索看看
  • 慕粉5341116
    慕粉5341116
    非常感谢!{x:1}是什么类型的数据?以前没见过呀?
  • 1 回答
  • 0 关注
  • 1134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信