Математика и бесконечность - PullRequest
3 голосов
/ 08 марта 2012

В математике есть семь неопределенных форм. Большинство из них возвращает NaN в JavaScript. Но когда я пытаюсь:

Math.pow( 0, 0 )

или

Math.pow( Infinity, 0 )

возвращается:

1

Это какая-то ошибка?

Ответы [ 3 ]

5 голосов
/ 08 марта 2012

Вот что говорит спецификация , так что это не ошибка:

2.Если y равно +0, результат равен 1, даже если x равен NaN.

5 голосов
/ 08 марта 2012

Нет, потому что все, что связано с нулевой силой, равно единице.

Мало того, что это легче реализовать, это математически правильно (некоторые математики говорят, что pow(0, 0) не определено, но общее соглашение должно принимать pow(x, 0) == 1 для любого x).

Кроме того, это указано в спецификации (ссылка официально украдена у primvdb): http://es5.github.com/#x15.8.2.13

1 голос
/ 08 марта 2012

Нет, это не ошибка. Это поведение соответствует ECMA определению Javascript .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...