JavaScript中用逻辑运算符做区间校验的核心是用&&和||组合条件:闭区间用&&连接上下界,如num>=5&&num<=10;开区间用||配合否定逻辑实现。

JavaScript 中用逻辑运算符做区间校验,核心是组合 &&(且)和 ||(或),把多个条件按数学区间逻辑拼起来,而不是硬写一堆 if 嵌套。
单个闭区间:用 && 连接上下界
比如校验数字是否在 [5, 10] 内(含端点):
if (num >= 5 && num <= 10) { ... }
注意边界符号方向要一致,避免写成 5 —— 这在 JS 中会出错(先算 <code>5 得布尔值,再跟 10 比较)。
多个不重叠区间:用 || 组合各区间
比如允许值在 [1, 3] 或 [7, 9]:
立即学习“Java免费学习笔记(深入)”;
if ((num >= 1 && num <= 3) || (num >= 7 && num <= 9)) { ... }
括号不能省,否则 && 优先级高于 ||,会导致逻辑错误。
排除特定区间:用 ! 配合 &&
比如“合法值是除 [4, 6] 外的所有数”:
if (!(num >= 4 && num <= 6)) { ... }
等价于 num 6,但前者更贴近自然语言表达,也更容易维护。
带空值或类型安全的校验:先判断有效性再区间检查
实际场景中,变量可能是 null、undefined 或字符串,直接比较会出问题:
- 用
typeof num === 'number' && !isNaN(num)确保是有效数字 - 对字符串数字可先转成数字:
const n = Number(str); if (!isNaN(n) && n >= 0 && n - 避免隐式转换陷阱,比如
'5' >= 5是true,但'abc' >= 5是false(不是报错)
不复杂但容易忽略细节。关键就三点:括号保优先级、先验数据有效性、边界符号写清楚。


















