首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript Infinity

Javascript Infinity
EN

Stack Overflow用户
提问于 2013-04-14 00:12:53
回答 3查看 1.3K关注 0票数 5

除以0可以得到这个特定值:

代码语言:javascript
复制
 3/0 output:Infinity

你不能用正负无穷来对抗对方:

代码语言:javascript
复制
Infinity - Infinity output:NaN (Why?)

这也证明了“超越无限”仍然是无限的:

代码语言:javascript
复制
 Infinity + Infinity output:Infinity(this is accepted)


 5 * Infinity
Infinity(this is also accepted)

那么为什么无限-无限的计算结果是NaN?它应该是无限的,不是吗?我还想知道为什么对象不能转换为原始值?很抱歉一次发布两个问题,因为这是我可以在这里post.See的最后一个问题:

代码语言:javascript
复制
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
EN

回答 3

Stack Overflow用户

发布于 2013-04-14 00:18:35

这就是∞在数学中的工作方式。无穷本身不是一个数字,它是一个概念。一般的想法是

∞ + x = ∞ ∀ x

显然,∞是无限大的。如果你从一个无限大的东西中减去另一个无限大的东西,你就不能定义剩下的东西了。如果第一个无穷大,你会得到一个负的结果,但是如果它小了,那么结果将是正的(减法的基本规则),但是由于两者都是无限大的,你没有办法知道哪个更大(除非给出更多的信息,比如导致这些无穷大的上下文*)。因此,就计算机而言,∞-∞在数学上是未定义的,或者不是一个数字。

*示例:设x=所有正整数的和,y=每个正整数的和加倍。在这种情况下,我们可以说y> x,即使两者都是无穷大的。

票数 9
EN

Stack Overflow用户

发布于 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

票数 0
EN

Stack Overflow用户

发布于 2013-04-14 00:22:35

代码语言:javascript
复制
var A = 1/0
var B = 2 * A
var c = B - A

请注意,即使B=2* A,A=B (2 *无穷大仍然是无穷大,所以它们都是无穷大),那么您期望C是什么呢?无穷大还是0?

从数学上讲,无穷大并不是一个真正的数字。虽然IsNaN(1/0) = false。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15989908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档