在JavaScript中,是否可以在Or运算符之后放置条件语句?如果是这样,为什么以下失败?JavaScript中的Or运算符之后的条件语句
var value = 1 || true ? 2 : 3; // equals to 2
当我将值设置为等于[1 || true ? 2 : 3]
时,我收到了意想不到的结果。 那得到的结果是:
value == 2
我的预期值是等于1(value= = 1
),自1 truthy,和Or语句应该具有回报1.条件语句,甚至不应该被执行。
val可以等于2(val == 2
)的唯一方法是Or操作符的行为与预期不符,并运行Or语句的第二部分以及其中的条件语句。
为什么表现如此?
因为它被解释为'(1 || true)? 2:3' – haim770
哦..我忘记了运营商的优先权.. –