为什么是true?不应该是false么?

来源:2-11 是非颠倒(逻辑非操作符)

慕前端025905

2018-10-25 11:05

https://img.mukewang.com/5bd132d1000178c711360766.jpg为什么是true?不应该是false么?

写回答 关注

8回答

  • 慕仰1008517
    2019-10-25 10:45:31

    这个是和运算符的优先级有关系,不加括号的写法实际上先运算的是 !numa(返回false,为0),然后对0和numb比较,很显然0<70,所以返回true

    如果你加上给numa<numb加上括号的话,优先比较numa<numb,返回true,!true=false。

    所以你得到的结果会是true,而不是false。

    如果我没讲明白的话,可以去了解一下运算符的优先级哦。

  • 慕前端1174511
    2019-09-15 15:03:11

    要加个括号

  • 慕神9295567
    2019-03-13 13:52:28

    大哥,你这是什么呀:jq1=!numa<numb;

    没明白你这样写是什么意思。


  • 慕移动7111842
    2019-01-28 19:45:03

    数字非0自动转boolean类型时都是true所以!numa为false,然后false<numb比较,false自动转为数值类型0和numb=70作比较,所以最后得到了true;

  • 慕侠2155777
    2018-12-20 17:06:39

    你这就像是1+5*5为什么30的问题。

    慕侠2155...

    写错了 是为什么不是30的问题

    2018-12-20 17:07:02

    共 1 条回复 >

  • 猿小菜
    2018-11-30 14:13:53

    打个括号把numa<numb框起来就可以了    jq1=!(numa<numb);

  • 阳火锅
    2018-10-26 15:38:50

    打个括号把numa<numb框起来就可以了

  • 昨夜妖雨
    2018-10-25 11:17:44

    应该是jql!=numa<numb

    你这样写可能系统没有识别到,自动认为是等于

    慕前端025...

    不是,是因为先后顺序

    2018-10-25 11:53:15

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题