美文网首页
true && true || false && false =

true && true || false && false =

作者: monvhh | 来源:发表于2018-03-22 22:27 被阅读0次

    为什么会纠结这个问题,就像做加减算术一样,我喜欢先把所有的+一起算了,再一个一个-;
    或者加的都一起算了,减的也加起来,再在加起来的total里减到这个减的总和。
    比如
    A+B-C+D-E = (A+B+D)- (C+E)

    所以 A && B || C && D = A && B && D || C
    那么 true && true || false && false = false

    事实上是true

    Why?
    1.(这才是根本原因)
    逻辑运算符结合顺序是从左至右,在||之前得到了true便不再执行||后面的运算了
    2.(经测试||前为true时不会去执行||后面)
    +,-的优先级是一样的,可以混在一起随便怎么排列
    而&&的优先级高于||
    所以 A && B || C && D = A && B || (C && D)

    第一反应原因就是1,但心有不甘,会不会出现||后面的优先级更高呢?真的就不管不顾了吗?
    因为对于||而言,是从左至右,如果||后面的优先级更高那也是||后面的事儿了……

    相关文章

      网友评论

          本文标题:true && true || false && false =

          本文链接:https://www.haomeiwen.com/subject/hhbzqftx.html