wxjs为什么不能使用if(10<x<20){}的写法而要写成if(10<x && x<20){}?
发布于 6 年前 作者 guiyingluo 8216 次浏览 来自 官方Issues

wxjs为什么不能使用if(10<x<20){}的写法而要写成if(10<x && x<20){}?

4 回复

10<x20 ?还是10<x<20

每一种语言都有各自的语法

虽然说js可以写 if(10<x<20) 也可以写 if(10<x && x<20)
但这2个不是一回事,你可以试试
x=21时,10<x<20 结果为true,而10<x && x<20false
10<x<20 实际上是 (10 < x) < 20 => true < 20 => true
为什么true会小于20呢,因为 true == 1  =>  true
所以 true < 20  =>  1 < 20  => true
同样的false == 0  =>  true

若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

1<=x<=10 等价于bai (1<=x) <= 10

(1<=x)是du比较,结果是真(一般为1)或0, 无论是1还是0 都<=10, 所以这个表达zhi式的结果为真。

而1<=x && x <= 10 等价于dao(1<=x) && (x <=10) x 在[1,10]范围内,表达式为真,否则为0。能判断x介于1到10。

if(10<x20){} 这样写好像不止wxjs不能吧

因为第一种代码 js引擎解析不了

回到顶部