具有布尔运算的逻辑运算符

var x = true,
    y = false;

如果两个表达式的计算结果为 true,则此运算符将返回 true。如果 x 计算为 false,则此布尔运算符将采用短路并且不会评估 y

x && y;

这将返回 false,因为 y 是假的。

要么

如果两个表达式中的一个评估为 true,则此运算符将返回 true。如果 x 计算为 true,则此布尔运算符将使用短路并且不会评估 y

x || y;

这将返回 true,因为 x 是真的。

如果右侧的表达式求值为 true,则此运算符将返回 false;如果右侧的表达式求值为 false,则返回 true。

!x;

这将返回 false,因为 x 是真的。