当前位置:嗨网首页>书籍在线阅读

10-与、或和非

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.8 与、或和非

JavaScrit支持三种逻辑运算符:与(&&)、或(||)、和非(!)。如果有一些数学背景,大家也许知道“与”表示同时满足,“或”表示满足一个即可,而“非”则用来取反。布尔值不像数字那样可能会存在一个无穷大的值,它只有两种可能的值,所以这些运算符通常用真值表来描述,该表完整地描述了它们的行为(见表5-2到表5-4)。

表5-2  与(&&)的真值表

| x | y | x && y | | :----- | :----- | :----- | :----- | :----- | | false | false | false | | false | true | false | | true | false | false | | true | true | true |

表5-3  或(||)的真值表

| x | y | x || y | | :----- | :----- | :----- | :----- | :----- | | false | false | false | | false | true | true | | true | false | true | | true | true | true |

表5-4  非(!)的真值表

| x | !x | | :----- | :----- | :----- | :----- | | false | true | | true | false |

纵观这些真值表,会发现,“与”为 true 的前提是两个值同时为 true ,“或”为 false 的前提是两个值同时为 false 。“非”很直观:它只是对值取反。

或运算符有时候又叫作“同或”,因为如果两个值都为 ture ,结果就为 ture 。同时还存在“异或”(或 XOR ),当两个值为 true 时,它的值为 false 。JavaScript不支持XOR运算符,但它有一个位异或运算符(^),后面章节会有讲解。

如果要对变量x和y做异或 (XOR)运算,可以使用等价表达式 `(x || y) & & x !== y` 。