刚刚遇到的问题
在chrome中测出来
let num = 15
0<num<3 //true 不知道为什么会出现这种情况
3>num>15 //false 我想要的值
我的理解 0<num<3 也应该是false;
这是什么样的逻辑呢,没看明白.
请大家帮看看原因!感谢~
刚刚遇到的问题
在chrome中测出来
let num = 15
0<num<3 //true 不知道为什么会出现这种情况
3>num>15 //false 我想要的值
我的理解 0<num<3 也应该是false;
这是什么样的逻辑呢,没看明白.
请大家帮看看原因!感谢~
表达式是从左至右、按照运算符优先级计算的,不是数据中的公式。
0 < num < 3
,先算 0 < num
,该表达式返回一个 bool 值,要么是 true(即 1)、要么是 false(即 0);再算 true/false < 3
(即 0/1 < 3
),所以表达式恒成立。
下面的自己推导一下吧。
如果你想表达数学上的“num 既大于 0 又小于 3”,应该用和运算符:num > 0 && num < 3
。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
分 2 步
第一步:
0<num
首先他返回的是true
第二步:
true<3
大家都知道true==1
,所以这里是1<3
所以返回 true
同理