||是这样运算的:从第一个开始,遇到有意义的返回,否则返回最后一个表达式(注意不一定是Boolean值); &&是这样运算的:从第一个开始,遇到无意义的返回,否则返回最后一个表达式(注意同上); !是这样运算的:对表达式的值取非(注意不是对表达式)。 什么是无意义呢:如下六个 0,null,undefined,"",false,NaN。除此,视为有意义。