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