【发布时间】:2011-11-17 17:37:41
【问题描述】:
如果
Infinity === Infinity
>> true
和
typeOf Infinity
>> "number"
那为什么是
Infinity / Infinity
>>NaN
而不是 1?
【问题讨论】:
标签: javascript math infinity
如果
Infinity === Infinity
>> true
和
typeOf Infinity
>> "number"
那为什么是
Infinity / Infinity
>>NaN
而不是 1?
【问题讨论】:
标签: javascript math infinity
请注意您对无穷大的算术行为所做的任何假设。
如果 ∞/∞ = 1,则 1×∞ = ∞。推而广之,因为 2×∞ = ∞,所以也一定是 ∞/∞ = 2。
由于在讨论中反对另一个答案,我想指出方程 2×∞ = ∞ 并不意味着存在多个无穷大。所有可数无限集都具有相同的基数。即,整数集与奇数集具有相同的基数,即使第二个集合缺少第一个集合的一半元素。 (OTOH,还有其他种类的“无穷大”,例如实数集的基数,但是将可数无穷大加倍并不会产生其中之一。就此而言,平方也不会.)
【讨论】:
因为specification 是这么说的:
无穷大除以无穷大得到NaN。
我不是数学家,但即使从这个角度来看,(编辑: 正如我所说,我不是数学家;))。1 也没有任何意义。无穷大可以不同,仅因为它们在 JavaScript 中相等并不能证明在所有其他情况下都将它们视为相等(或者让除法返回1)。
【讨论】:
Infinity 如果返回 false 将毫无用处。考虑var x = Infinity; if( x == Infinity ) ...
结果在数学上是不确定的。它与javascript无关。请参阅following explanation。
【讨论】:
它可以从微积分一中识别出来!这是一个不确定的形式!
【讨论】:
DivideByZeroException,但是告诉我的编译器。
lim(x->0) 1/x = Inf。如果您使用的是“标准”数学,那就是。