收藏
回答

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

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

最后一次编辑于  2020-07-11
回答关注问题邀请回答
收藏

4 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-07-11

    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
    

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

    2020-07-11
    有用 1
    回复 5
    • 上善若水
      上善若水
      2020-07-11
      10<x<20
      2020-07-11
      回复
    • 上善若水
      上善若水
      2020-07-11
      打漏了
      2020-07-11
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-07-11回复上善若水
      恩,这2中写法不是一回事,可以看上面
      2020-07-11
      回复
    • 上善若水
      上善若水
      2020-07-11
      那就是if的两种写法的区别,是都是这样的
      2020-07-11
      回复
    • 上善若水
      上善若水
      2020-07-11
      C好像也是这样
      2020-07-11
      回复
  • 上善若水
    上善若水
    2020-07-11

    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。

    2020-07-11
    有用
    回复
  • VBit
    VBit
    2020-07-11

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

    2020-07-11
    有用
    回复 3
    • 上善若水
      上善若水
      2020-07-11
      哦,还有哪些不能?
      2020-07-11
      回复
    • VBit
      VBit
      2020-07-11回复上善若水
      如果你打错了的话是10<x<20的话确实不行,解析是不认,不能用就按平常写法就行了
      2020-07-11
      回复
    • VBit
      VBit
      2020-07-11回复上善若水
      按微信的写法没有错的,好多都不通用的,习惯就好
      2020-07-11
      回复
  • 正周
    正周
    2020-07-11

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

    2020-07-11
    有用
    回复 2
    • 上善若水
      上善若水
      2020-07-11
      真的是这样?
      2020-07-11
      回复
    • 上善若水
      上善若水
      2020-07-11
      卧槽
      2020-07-11
      回复
登录 后发表内容
问题标签