除以0可以得到这个特定值:
3/0 output:Infinity你不能用正负无穷来对抗对方:
Infinity - Infinity output:NaN (Why?)这也证明了“超越无限”仍然是无限的:
Infinity + Infinity output:Infinity(this is accepted)
5 * Infinity
Infinity(this is also accepted)那么为什么无限-无限的计算结果是NaN?它应该是无限的,不是吗?我还想知道为什么对象不能转换为原始值?很抱歉一次发布两个问题,因为这是我可以在这里post.See的最后一个问题:
var obj = {
valueOf: function () {
console.log("valueOf");
return {}; // not a primitive
},
toString: function () {
console.log("toString");
return {}; // not a primitive
}
}
Number(obj) //TypeError: Cannot convert object to primitive values发布于 2013-04-14 00:18:35
这就是∞在数学中的工作方式。无穷本身不是一个数字,它是一个概念。一般的想法是
∞ + x = ∞ ∀ x
显然,∞是无限大的。如果你从一个无限大的东西中减去另一个无限大的东西,你就不能定义剩下的东西了。如果第一个无穷大,你会得到一个负的结果,但是如果它小了,那么结果将是正的(减法的基本规则),但是由于两者都是无限大的,你没有办法知道哪个更大(除非给出更多的信息,比如导致这些无穷大的上下文*)。因此,就计算机而言,∞-∞在数学上是未定义的,或者不是一个数字。
*示例:设x=所有正整数的和,y=每个正整数的和加倍。在这种情况下,我们可以说y> x,即使两者都是无穷大的。
发布于 2013-04-14 00:17:54
因为它是一种不确定的形式,所以它不是无穷大。NaN以最好的方式反映了这一点。
http://en.wikipedia.org/wiki/Indeterminate_form
相关问题:https://math.stackexchange.com/questions/60766/what-is-the-result-of-infinity-minus-infinity
发布于 2013-04-14 00:22:35
var A = 1/0
var B = 2 * A
var c = B - A请注意,即使B=2* A,A=B (2 *无穷大仍然是无穷大,所以它们都是无穷大),那么您期望C是什么呢?无穷大还是0?
从数学上讲,无穷大并不是一个真正的数字。虽然IsNaN(1/0) = false。
https://stackoverflow.com/questions/15989908
复制相似问题