JavaScript三数区间判断函数返回结果不符预期问题排查
问题分析与修复
你的函数逻辑存在核心错误:你使用了或运算符(||),只要三个数里有任意一个处于50-99区间,函数就会返回true。但你的需求是三个数全部落在该区间才返回true,这时候应该用**与运算符(&&)**来替代。
修正后的代码
function check_three_nums(x, y, z) { // 用&&替换||,确保三个数都满足区间条件 return (x >= 50 && x <= 99) && (y >= 50 && y <= 99) && (z >= 50 && z <= 99); } console.log(check_three_nums(65, 9, 199)); // 现在会返回false,符合预期
补充说明
- 可以直接返回条件判断的结果,无需额外的
if-else语句,让代码更简洁。 - 测试用例验证:
check_three_nums(50, 90, 99)→ 返回true(全部符合区间要求)check_three_nums(5, 9, 199)→ 返回false(全部不符合)check_three_nums(65, 89, 199)→ 返回false(存在不符合的数)
内容的提问来源于stack exchange,提问作者elodie
相关产品推荐
相关产品推荐

