运算符(逻辑或||)和(逻辑与&&)和括号的优先级
首先他们的优先级为:括号 >(逻辑&&)>(逻辑或||)
来个例子:
return a && b || c
// 根据a来判断,当a值为true,则返回b,当a值为false,则返回c
return a || b && c
//根据优先级先算b && c,然后在和a或(||),
//如果b为false,那么b && c返回false,此时相当于return a || false来判断,此时的a为false时,返回false,如果a为true时,则返回true
//如果b为true,那么b&&c返回c,此时相当于return a || c,此时的a为false时,返回c,如果a为true,则返回a
return d || (a || b ) && c
// 先括号,再逻辑与(&&)再逻辑或(||)
// 先(a||b),a为true则返回a,此时相当于retuen d||a&&c,a为false则返回b,此时相当于d||b&&c
// 当retuen d || a && c和retuen d || a&& c时,再执行逻辑与(&&)再执行逻辑或(||),就同上面的逻辑就相似了
理解有不对的地方还请大神多赐教