写写alert(A&&B)与alert(A||B)之间的事儿

偶然间碰到了一个很有意思的Javascript,alert(1&&2)输出的是什么,小伙伴,你知道吗?

答案是2,哈,对了没有,为什么呢……下面鄙人来简单讲讲吧。

我们先来测试数据,比较有代表性的,先看alert(A && B),

alert(1 && 0) //output  0

alert(0 && 1) //output  0

alert(' ' && 0) //output  

alert(0 && ' ') //output  0

alert(' ' && 'a') //output  

alert('a' && ' ') //output  

发现规律了没有,在计算机语言中,我们可以这么看,‘ ’跟0相当于false,那么有数值的1,2,‘a'就相当于true,我们可以发现这么个规律:

在 alert(A && B) 中,当A为true时,返回的均是B;当A为false时,返回的均为A。

同理,在alert(A || B)中,取数据测试“

alert(1 || 0) //output  1

alert(0 || 1) //output  1

alert(' ' || 0) //output  0

alert(0 || ' ') //output  0

alert(' ' || 'a') //output  a

alert('a' || ' ') //output  a

在 alert(A || B) 中,当A为true时,返回的均是A;当A为false时,返回的均为B。

我么发现:

alert(true && false) //output  false

alert(true && true) //output  true(第2个)

alert(false && true) //output  false

alert(false && false) //output  false(第1个)

alert(true || false) //output  true

alert(true || true) //output  true(第1个)

alert(false || false) //output  false(第2个)

alert(false || true) //output  true

可以这么记,A&&B“第一选择”不是true;A||B“第一选择”不是false。

同时 && 的优先级高于 ||,如alert('a' || '' && 2),返回 a;如果 || 的优先级高于 && ,则返回的是 2。

聪明的小伙伴,你发现了吗?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值