JavaScript【关系与逻辑运算符】

关系运算符

关系运算符用于比较两个值之间的关系,并根据比较结果返回布尔值(true或false) 

源码

relation-operator

    <script>
        //关系运算符 > < >= <= == != === !==
        //根据运算符两边值的关系返回true正确或false错误
        console.log(1>2); //false
        console.log(2<1); //false
        console.log(3>=3); //true
        var a = 4 ;
        console.log(a>=5); //false
        console.log(a==4); //true
        console.log(a!=4); //false
        console.log(a=="4"); //true
        // == 相等,模糊匹配类型,匹配数值
        // === 全等,进行数值判断时,精确匹配类型
        console.log(a==='4'); //false
        console.log(a!=="4"); //true
    </script>

控制台结果 

c308c6e5105f43c4ae5c17a77c6e3042.png

关系运算符实例

  1. console.log(1>2); //false:这是一个比较操作,检查数字1是否大于数字2。由于1小于2,所以结果是false。

  2. console.log(2<1); //false:这里比较的是数字2是否小于数字1。因为2大于1,所以结果是false。

  3. console.log(3>=3); //true:这个操作检查数字3是否大于或等于它自己。因为3等于3,所以结果是true。

  4. var a = 4 ;:这行代码声明了一个变量a并将其初始化为数字4。

  5. console.log(a>=5); //false:检查变量a(值为4)是否大于或等于5。因为4小于5,所以结果是false。

  6. console.log(a==4); //true:这里使用等号(==)检查变量a的值是否等于数字4。由于它们相等,结果是true。

  7. console.log(a!=4); //false:使用不等于(!=)检查a的值是否不等于4。因为它们相等,所以结果是false。

  8. console.log(a=="4"); //true:这个操作使用等号(==)进行类型不安全的比较,检查变量a的值是否等于字符串"4"。在JavaScript中,当使用==进行比较时,会进行类型转换,数字4会被转换成字符串"4",因此比较结果是true。

  9. console.log(a==='4'); //false:使用严格等于(===)进行比较,检查a的值是否严格等于字符串"4"。由于严格等于不会进行类型转换,而a是一个数字,所以结果是false。

  10. console.log(a!=="4"); //true:使用严格不等于(!==)检查a的值是否严格不等于字符串"4"。由于类型不同,所以结果是true。

逻辑运算符

关系运算符用于比较两个表达式之间的关系,并根据优先级进行结果的比较,从而返回布尔值(true或false) 

源码

logic-operator

    <script>
        var a = 5 ;
        // &&:并且,运算符两边条件均满足返回true反之则为false
        console.log(a>3 && a<=5); //true
        console.log(a>3 && a==10);  //false
        // ||:或者,运算符两边条件只需要满足一个就返回true,都不满足返回false
        console.log(a>10 || a===5); //true
        console.log(a<1 || a>10); //false
        //逻辑与&&,逻辑或||,连用
        console.log(a==5 || a > 10 && a < 10); //true
        // 将此表达式分为两个部分【a==5】【a>10 && a<10】两个部分只需一个表达式成立,即返回true
        //逻辑非!:对表达式结果进行取反
        console.log(!a==5);//原结果为true加上逻辑非为false


    </script>

控制台结果

ebf9971a9a1e48b18334fe086f0a799c.png

 逻辑运算符实例

  1. console.log(a>3 && a<=5); //true 这个表达式使用了逻辑与 &&。变量 a 的值是5,它大于3且小于等于5,所以两个条件都满足,返回 true

  2. console.log(a>3 && a==10); //false 同样使用逻辑与 &&。虽然 a 大于3,但 a 不等于10,因此至少有一个条件不满足,返回 false

  3. console.log(a>10 || a===5); //true 这个表达式使用了逻辑或 ||。变量 a 的值是5,它不大于10,但等于5,因此至少有一个条件满足,返回 true

  4. console.log(a<1 || a>10); //false 使用逻辑或 ||。变量 a 的值是5,既不小于1也不大于10,所以两个条件都不满足,返回 false

  5. console.log(a==5 || a > 10 && a < 10); //true 这个表达式结合了逻辑或 || 和逻辑与 &&。由于 a 等于5,第一个条件 a==5 已经满足,所以整个表达式返回 true。即使第二个条件 a > 10 && a < 10 是矛盾的(不可能同时大于10且小于10),但因为第一个条件已经满足,所以整个表达式的结果为 true

  6. console.log(!a==5); //原结果为true加上逻辑非为false 这个表达式使用了逻辑非 !。首先,a 的值是5,所以 a 是一个真值。逻辑非 !a 的真值取反,变为 false。然后,false 被隐式地转换为数字0,接着与数字5进行比较。由于0不等于5,所以表达式的结果是 false

 

JS运算符运算顺序

JavaScript中,判断运算顺序主要依赖于以下几个方面:

  1. 运算符优先级:JavaScript有一套固定的运算符优先级规则,决定了在没有括号的情况下,哪些运算会先执行。例如,乘法和除法的优先级高于加法和减法。

  2. 括号:括号内的运算总是最先执行。使用括号可以改变默认的运算顺序,确保先计算你希望优先计算的部分。

  3. 逻辑运算符:逻辑运算符 && (逻辑与) 和 || (逻辑或) 也有不同的优先级。&& 的优先级高于 ||

  4. 组合运算符:JavaScript提供了组合赋值运算符,如 +=-= 等,这些运算符的优先级低于单独的加减乘除。

JavaScript中运算符优先级,从高到低排列:

  • * / % 乘法、除法和取余
  • + - 加法和减法
  • << >> >>> 位移运算符
  • < <= > >= 比较运算符
  • == != === !== 相等和全等运算符
  • !逻辑或
  • && 逻辑与
  • || 逻辑或

实例讲解

// 例子1
console.log(2 + 3 * 4); // 14
// 解释:乘法优先级高于加法,所以先计算3 * 4,然后结果与2相加。

// 例子2
console.log(2 + (3 * 4)); // 14
// 解释:括号内的运算最先执行,与例子1相同。

// 例子3
console.log(2 > 1 && 4 < 5); // true
// 解释:逻辑与 `&&` 的优先级高于比较运算符,所以先执行两个比较,然后进行逻辑与运算。

// 例子4
console.log(2 > 1 || 4 < 5 && 6 > 3); // true
// 解释:逻辑与 `&&` 的优先级高于逻辑或 `||`,所以先计算 4 < 5 && 6 > 3,然后结果与 2 > 1 进行逻辑或运算。

// 例子5
console.log(a = 10, a == 10); // 10 true
// 解释:赋值运算符的优先级较低,所以先执行赋值操作 a = 10,然后比较 a 是否等于10。

 

 

  • 19
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值