3

数学中有七种不定形式。它们中的大多数在 JavaScript 中返回 NaN。但是当我尝试时:

Math.pow( 0, 0 )

或者

Math.pow( Infinity, 0 )

它返回:

1

这是某种错误吗?

4

3 回答 3

5

这就是规范所说的,所以它不是一个错误:

2. 如果y是+0,结果是1,即使x是NaN。

于 2012-03-08T09:39:57.310 回答
5

不,因为任何零次方都是一。

这不仅更容易实现,而且在数学上是正确的(一些数学家说pow(0, 0)是未定义的,但一般约定是采用pow(x, 0) == 1任何x)。

最重要的是,它在规范中(链接从 primvdb 官方窃取):http ://es5.github.com/#x15.8.2.13

于 2012-03-08T09:39:18.017 回答
1

不,这不是错误。此行为符合Javascript 的 ECMA 定义

于 2012-03-08T09:44:34.763 回答