js基础从入门到精通_17JS逻辑运算符
/*
*
* JS中为我们提供了三种逻辑运算符
* ! 非
* !可以用来对一个值进行 非 运算
* 所谓非运算就是对一个布尔值进行取反 运算
* true 变成 false false变成true
* 如果对一个值进行两次取反,它不会变化
* 如果对一个非布尔值数据进行非运算
* 会先将其转换为布尔值,然后再进行取反
* 所以我们可以利用该特性,来将一个其他的值转换为布尔值
* 可以为任意一个数据类型进行两次取反,来将其转换为布尔值
* 原理和Boolean()函数一样
*
* && 与
* -&&可以对符号两侧的符号进行与运算,并返回结果
* -运算规则
* 如果两个值都是true 则返回true
* 如果有一个值是false,则返回 false
* JS中的“与”属于短路的与
* 如果第一个值为false,则不会检查第二个值
*
* || 或
* || 可以对符号两侧的值进行 或 运算,并返回结果
* 如果两个值只要有一个 true 就会返回true
* 只有 两个值都是 false 才会返回false
* JS中的“与”属于短路的 或
* 如果第一个值是true 就不会检查第二个值
* 如果第一个值是 false 会继续检查第二个值
*
*
*
* */
// ! 非运算符演示
var a = true;
// 对a进行 非运算
a = !a;
console.log("a ="+a);
var b = 10;
b= !!b;
console.log("b ="+b);
// && 与运算符演示
//如果两个值都是true 则返回true
var c = true && true;
//只要两个值中有一个是false 就会返回false
c = true && false;
c = false && false;
console.log("c ="+c);
//第一个值为 true 会继续检查第二个值
//true &&alert("我叫你哥!")
//第一个值为 false 则不会继续检查第二个值
//false &&alert("你叫我爸!")
/*
*
* || 或运算符演示
*
* */
// 两个都是 false 则会返回false
var d = false || false;
// 只要有一个 true 就会返回true
d = true || false;
d = false; || true;
d = true || true;
console.log( "d ="+ d);
//第一个值为 false 会继续检查第二个值
false || alert("咱俩各论各的!")
//第一个值为 true 不会继续检查第二个值
true || alert("不用在乎别人怎么说!")