JavaScript变量范围判断条件异常:符合范围却返回false?
问题分析与修正
你的条件判断逻辑完全错误,导致永远无法返回true:
- 你对
nb1的判断写成了nb1 >=30 && nb1 <=40 && nb1 >=60 && nb1 <=80,这要求一个数同时处于30-40和60-80两个不重叠的区间,根本不可能实现 - 同理
nb2的判断也犯了同样的错误,要求它同时落在两个互不相交的区间里,自然也不可能满足
正确的逻辑应该是:nb1处于30-40区间 并且 nb2处于60-80区间。
修正后的基础代码:
let nb1 = 35; let nb2 = 65; if( (nb1 >= 30 && nb1 <= 40) && (nb2 >= 60 && nb2 <= 80) ){ console.log(true); } else { console.log(false); }
如果需要额外验证变量是否为整数,可以在条件中补充整数判断:
let nb1 = 35; let nb2 = 65; if( Number.isInteger(nb1) && nb1 >= 30 && nb1 <= 40 && Number.isInteger(nb2) && nb2 >= 60 && nb2 <= 80 ){ console.log(true); } else { console.log(false); }
内容的提问来源于stack exchange,提问作者anais_stemb
相关产品推荐
相关产品推荐

