"if" 语句中复合布尔表达式的运算顺序是什么
What is the order of operations for compound boolean expressions in an "if" statement
如果我有一个 if 语句
if (var1 || var2 && var3)
{
//anything
}
它计算这些变量的顺序是什么?
我想我真正想知道的是这个 if 语句是否等同于
if ((var1 || var2) && var3){}
//or
if (var1 || (var2 && var3)){}
并在第一时间处理订单
我知道我可以用括号澄清这一点,它会按照我期望的顺序评估它们。但我想知道当没有括号时它们的默认查看方式。
从 docs 开始,&&
优先于 ||
。建立优先级后,它会从左向右流动。所以,在你的例子中,它最终是 if (var1 || (var2 && var3)){}
.
如果我有一个 if 语句
if (var1 || var2 && var3)
{
//anything
}
它计算这些变量的顺序是什么?
我想我真正想知道的是这个 if 语句是否等同于
if ((var1 || var2) && var3){}
//or
if (var1 || (var2 && var3)){}
并在第一时间处理订单
我知道我可以用括号澄清这一点,它会按照我期望的顺序评估它们。但我想知道当没有括号时它们的默认查看方式。
从 docs 开始,&&
优先于 ||
。建立优先级后,它会从左向右流动。所以,在你的例子中,它最终是 if (var1 || (var2 && var3)){}
.