Math.pow和Infinity

Hah*_*ahi 3 javascript math infinity

数学中有七种不确定的形式.他们中的大多数在JavaScript中返回NaN.但当我尝试:

Math.pow( 0, 0 )
Run Code Online (Sandbox Code Playgroud)

要么

Math.pow( Infinity, 0 )
Run Code Online (Sandbox Code Playgroud)

它返回:

1
Run Code Online (Sandbox Code Playgroud)

这是某种错误吗?

orl*_*rlp 5

不,因为零的力量是一个.

这不仅是更容易实现,这在数学上是正确的(一些数学家说pow(0, 0)是不确定的,但一般的惯例是采取pow(x, 0) == 1任何 X).

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

  • @nightcracker:"任何东西"都太笼统了.在微积分中,0 ^ 0和无穷大^ 0是[不确定形式](http://en.wikipedia.org/wiki/Indeterminate_form#Undefined_forms_that_are_not_indeterminate). (2认同)

pim*_*vdb 5

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

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

  • @Hahi:没有,请看我的回答. (2认同)