我在jsfiddle.net上玩,我很好奇为什么返回true?
if(0 < 5 < 3) { alert("True"); }
这样:
if(0 < 5 < 2) { alert("True"); }
但这不是:
if(0 < 5 < 1) { alert("True"); }
这个怪癖有用吗?
操作顺序导致(0 < 5 < 3)在javascript中解释为((0 < 5) < 3)产生,(true < 3)并且true计为1,导致其返回true。
(0 < 5 < 3)
((0 < 5) < 3)
(true < 3)
这也是为什么(0 < 5 < 1)返回false,(0 < 5)返回true,为什么将其解释为1,从而导致的原因(1 < 1)。
(0 < 5 < 1)
(0 < 5)
1
(1 < 1)