比较值得注意的是 && 和 || 运算符:
&& 运算符的优先级比 || 优先级高,所以 a && b || c 与 c || b && a 的结果是不同的,而且对于 && 和 || 运算符来说,如果从左边的操作数能得出结果,就会忽略右边的操作数,这种现象被称作短路。
对于 a && b 这样的比较式,假如a判断为true (包含强制转换), 就返回 b 的值,否则返回 b 的值,而不是布尔值,这与其他比如C语言不同
而 c || d 这样的的表达式, 假如 c 判断为真,则 返回 c 的值;c 判断为 false 则返回第二个操作数 d 的值。