刚刚遇到的问题
在chrome中测出来
let num = 15 0<num<3 //true 不知道为什么会出现这种情况 3>num>15 //false 我想要的值
我的理解 0<num<3 也应该是false;
这是什么样的逻辑呢,没看明白.
请大家帮看看原因!感谢~
已解决
悬赏分:30
- 解决时间 2021-12-03 05:03
点赞 0反对 0举报 0
收藏 0
分享 2
回答2
最佳
-
0<num<3
分 2 步
第一步: 0<num 首先他返回的是 true
第二步: true<3 大家都知道 true==1,所以这里是 1<3
所以返回 true3>num>15
同理
支持 0 反对 0 举报2021-12-02 13:30
-
表达式是从左至右、按照运算符优先级计算的,不是数据中的公式。
0 < num < 3,先算 0 < num,该表达式返回一个 bool 值,要么是 true(即 1)、要么是 false(即 0);再算 true/false < 3(即 0/1 < 3),所以表达式恒成立。
下面的自己推导一下吧。
如果你想表达数学上的“num 既大于 0 又小于 3”,应该用和运算符:num > 0 && num < 3。
支持 0 反对 0 举报2021-12-02 14:03