До недавней версии jQuery использовался для проверки числа с помощью:
return !isNaN( parseFloat(obj) ) && isFinite( obj );
Первая часть предназначена для:
-
parseFloat("d") //Nan
-
!isNaN( parseFloat(Infinity)) //true but not a number
Вторая часть предназначена для:
-
isFinite('2') //true
Но в последней версии они изменили его и изменили на:
return !jQuery.isArray(obj) && (obj - parseFloat(obj) + 1) >= 0;
Вопрос:
Что было плохого в предыдущей версии, что они изменили ее на новую? И почему они проверяют массив?