js运算符的优先级问题

举例说明问题:

描述场景: 有两个变量arg1 ,arg2,只要其中一个为true,就输出‘yes’

let arg1 = true;
let arg2 = false;
console.log(arg1 === true || arg2 === true && 'yes')
// 结果输出 true  原因是:&& 符号的优先级高于 || 符号

正确写法

let arg1 = true;
let arg2 = false;
console.log((arg1 === true || arg2 === true) && 'yes')
// 结果输出 'yes' 原因是: ()优先级高于 && 符号

再来 练练手 先别看答案哦

console.log(4 >= 6 || '人' != '阿凡达' && !(12 * 2 == 144) && true)
        var num = 10;
        console.log(5 == num / 2 && (2 + 2 * num).toString() === '22');
        console.log('-------------------');
        var a = 3 > 5 && 2 < 7 && 3 == 4;
        console.log(a);

        var b = 3 <= 4 || 3 > 1 || 3 != 2;
        console.log(b);

        var c = 2 === "2";
        console.log(c);

        var d = !c || b && a;
        console.log(d);

公布答案
在这里插入图片描述

在这里插入图片描述

想看更具体的 看MDN文档吧

MDN文档对于优先级的讲解

发布了22 篇原创文章 · 获赞 3 · 访问量 2250

猜你喜欢

转载自blog.csdn.net/szuwaterbrother/article/details/104879851