【JS】&&与||的优先级的证明
作者:互联网
文章:运算符优先级
规定:JS中规定&&
优先级高于||
,运算符的优先级决定了表达式中运算执行的先后顺序。
但是如果理解&&
与||
的优先级为谁先执行运算,无法证明这一点
// 设置一个会打印结果的函数,观察是否会运行此函数
var a = 0
function setA(val, res) { a = val; console.log(a); return res}
setA(3, true) && setA(1, true) || setA(2, false)
// 3
// 1
// true
结果:&&
运算符得出结果后,直接返回最终结果没有验证||运算符结果
setA(3, false) || setA(1, true) && setA(2, false)
// 3
// 1
// 2
// false
结果:||
运算符得出结果后继续运算&&
后,得出最终结果
可以看出示例中没有优先运算&&
,会按顺序一步步运算。&&
得出为假结论即返回,||
得出为真结果即返回。
这与我们理解的乘除加减的运算不同,数学运算会先运算乘除后运算加减。
不知道如何证明&&
的优先级高于||
?
标签:优先级,运算,JS,运算符,&&,false,setA 来源: https://blog.csdn.net/weixin_44100002/article/details/121244614