Зачем проверять! IsNaN () после isFinite ()?

Я обнаружил функцию goog.math.isFiniteNumber в библиотеке закрытия Google . Он проверяет, является ли данное число одновременно конечным, а не NaN .

Базовый код:

goog.math.isFiniteNumber = function(num) {
  return isFinite(num) && !isNaN(num);
};

Итак, сначала он проверяет, является ли число конечным, используя собственный isFinite , а затем выполняет дополнительную проверку, чтобы убедиться, что число не NaN , используя isNaN .

Однако isFinite уже возвращает false в случае, если аргумент NaN . Итак, какие преимущества дает проверка isNaN ?

25
задан pimvdb 21 September 2011 в 07:30
поделиться