逻辑运算符
JavaScript 里有三个逻辑运算符:||(或),&&(与),!(非)。
JavaScript中运算符可以被应用于任意类型的值,而不仅仅是布尔值。他们的结果也同样可以是任意类型。
或 ||
只要有一个操作数为真,结果就为真,否则为假。在 JavaScript 中,逻辑运算符更加灵活强大,可以操作布尔值也可以操作其他类型的值。
例子1:
alert( true || true ); // true
alert( false || true ); // true
alert( true || false ); // true
alert( false || false ); // false
当操作数不是布尔类型时,会转化为布尔类型之后再操作
例1:如数字0转为false,其他数字转为true。
if (1 || 0) { // 相当于
alert( '真!' );
}
if (-1 || 0) { // 相当于
alert( '真!' );
}
if (20 || 0) { // 相当于
alert( '真!' );
}
上面的结果都是真。
例2:如空字符串转为false,非空字符串被转为true。
if ('abc' || 0) { // 相当于
alert( '1真!' );
}
if ('' || 0) { // 相当于
alert( '2真!' );
}
if ('' || '0') { // 相当于
alert( '3真!' );
}
结果只有第一个和第三个是真。
例3:如null和undefined被转为false
if (null || 0) { // 相当于
alert( '1真!' );
}
if (undefined || 0) { // 相当于
alert( '2真!' );
}
if (undefined || 1) { // 相当于
alert( '3真!' );
}
结果只有第三个为真。
例4:当然,逻辑运算符最常用的场景仍然是在判断语句中,如if语句
let season = 5;
let isSummer = true;
if (season < 7 || hour > 3 || isSummer) {
alert( '是夏天!' );
}
结果: