Javascript多个比较表达式语法

时间:2014-07-10 08:52:52

标签: javascript syntax boolean

通过 gut-feeling 我知道以下是错误的语法,或者至少没有按预期工作(尝试过),但是没有抛出任何错误:

var x = 2;
if (1 < x < 3) ...

我想VM首先评估表达式的一部分,然后将其与其余部分进行比较,但实际上是否有人知道(最好是文档链接)完全在这里发生了什么?

编辑:我发现similar question有解决方法如何写这个,但我真的对幕后发生的事情感兴趣。

1 个答案:

答案 0 :(得分:2)

使用此:

if (1 < x && x < 3)

你在做什么

if (
    (1 < x) // boolean, cast to 0 or 1
    < 3
)

This page from the MDN on operator precedence解释<从左到右解释。