数学中有七种不确定的形式。他们中的大多数在JavaScript中返回NaN。但当我尝试:
Math.pow( 0, 0 )
或
Math.pow( Infinity, 0 )
它返回:
1
这是某种错误吗?
答案 0 :(得分:5)
不,因为零的力量是一个。
这不仅更容易实现,而且在数学上是正确的(一些数学家说pow(0, 0)
未定义,但一般约定是pow(x, 0) == 1
为任何 x)。
最重要的是它在规范中(从primvdb官方窃取链接):http://es5.github.com/#x15.8.2.13
答案 1 :(得分:5)
这就是specification所说的,所以这不是一个错误:
2。如果
y
为+0,则结果为1,即使x
为NaN。
答案 2 :(得分:1)
不,这不是一个错误。此行为符合ECMA definition of Javascript。