2014-10-02 49 views
-1

,我想achive:,表达式的结果:2 <1 <5,原因是什么?今天

if(2 < 1 && 1 < 5) { 
    //...some stuff 
    } 

然后用数学思想,写下2 < 1 < 5,因为在此之前没有使用这种模式,所以看的结果控制台,现在,我不知道原因...

+4

请clari为您的具体问题或添加额外的细节,以确切地突出你所需要的。正如它目前所写,很难确切地说出你在问什么。请参阅[如何提问](http://stackoverflow.com/help/how-to-ask)页面以获得澄清此问题的帮助。 – thefourtheye 2014-10-02 07:19:42

+0

是你的问题,如果你可以写一个“链比较”的条件像JavaScript中的a Thilo 2014-10-02 07:21:26

+0

我希望我能帮助你,但我真的不明白你的英语 – 2014-10-02 07:23:22

回答

2

我不确定我是否理解正确,但我想你有问题2 < 1如果是这样,所有这一切的原因是,JavaScript首先评估第一部分(2 < 1)为假(可以认为是0),然后将假(或0)与5进行比较(假< 5与0 < 5相同)并且这个评估为真。因此2 5是正确的。

因此2 5是假的,但2 5是真实的,所以要小心这一点。

1

它的简单的2 < 1 =伪< 5 =真

0

if(2 < 1 && 1 < 5)不等同于if(2 < 1 < 5)

的首要条件会像评估:

if(2 < 1 && 1 < 5) => if(false && true) => false 

,第二个像:

if(2 < 1 < 5) => if(0 < 5) => true //false->0, true->1 
相关问题