javascript数值溢出返回infinity或-infinity,下溢归零为0或-0,除零返回infinity或nan,infinity是合法数值而nan不等于任何值包括自身。

JavaScript 数值运算溢出时,不会报错,而是返回特殊值 Infinity(正无穷)或 -Infinity(负无穷),这是由 IEEE 754 双精度浮点数标准决定的。
溢出:超出最大可表示值
当计算结果大于 Number.MAX_VALUE(约 1.8 × 10³⁰⁸)时,结果自动转为 Infinity;负数低于 -Number.MAX_VALUE 则转为 -Infinity。
-
1e308 * 2→Infinity -
-1e308 * 2→-Infinity -
Infinity + 1、Infinity * 2仍为Infinity
下溢:趋近于零但过小
当结果非零但绝对值小于 Number.MIN_VALUE(约 5 × 10⁻³²⁴)时,JavaScript 将其“归零”:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 正数下溢 →
0 - 负数下溢 →
-0(严格相等0 === -0为true,但1/0 !== 1/-0)
除零行为
被零除不是错误,而是明确的语义:
-
5 / 0→Infinity -
-5 / 0→-Infinity -
0 / 0、Infinity / Infinity、0 * Infinity等无效运算 →NaN
注意 NaN 与 Infinity 的区别
NaN 表示“不可表示的数值结果”,不等于任何值(包括自身);Infinity 是一个合法的数值,可参与比较和运算。
-
typeof Infinity是"number" -
isFinite(Infinity)返回false,isNaN(Infinity)返回false -
isNaN(NaN)或Number.isNaN(NaN)才是检测 NaN 的可靠方式
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










