在 JavaScript 中,除以 0 会返回特殊值。但是,0 除以 0 和其他数字除以 0 的结果不同。
0 除以 0 返回 NaN
当我们尝试用 0 除以 0 时,JavaScript 引擎无法确定应该返回什么结果。这是因为结果可以是任何数字。
例如:
------------- - --- -- ---
NaN 表示“不是一个数字”,它表示无法进行有效的数学计算。在这种情况下,JavaScript 中的 NaN 告诉我们,表达式的结果不是数字。
其他数字除以 0 返回 Infinity 或 -Infinity
另一方面,如果我们尝试将任何其他数字除以 0,则 JavaScript 引擎知道结果应该是正无穷大或负无穷大之一。这是因为除以 0 表示一个非常大的数字,它与无穷大相似。
例如:
-------------- - --- -- -------- --------------- - --- -- ---------
Infinity 表示正无穷大,而 -Infinity 表示负无穷大。这些值表示一个非常大的数字,它与无限接近。
结论
因此,在 JavaScript 中,0 除以 0 返回 NaN,而其他数字除以 0 返回 Infinity 或 -Infinity。
这种行为可以用来检查数字的有效性。例如,如果我们知道一个数字应该是正无穷大(或负无穷大),但是它实际上却不是,那么我们可以确定该数字无效。
--- --- - ---------------------------- -- ------------ - -------------------- - ---- -- ---- --- --------- - ----------------------- - ---- -- ---- --- ---------- - ----------------------- - ---- - -------------------------- -
这段代码会提示用户输入一个数字,并对输入进行验证。如果输入是 NaN,则认为它无效。如果输入是正无穷大或负无穷大,则说明它不是一个有效的数字。否则,我们可以确认输入是一个有效的数字。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/27467