Skip to content
Permalink
Browse files
Ref #14313: NaN detection. Close gh-1352.
  • Loading branch information
gibson042 committed Sep 12, 2013
1 parent 3a552cd commit 0bc0a69
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
@@ -224,7 +224,10 @@ jQuery.extend({
},

isNumeric: function( obj ) {
return !isNaN( parseFloat(obj) ) && isFinite( obj );
// parseFloat NaNs numeric-cast false positives (null|true|false|"")
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
// subtraction forces infinities to NaN
return obj - parseFloat( obj ) >= 0;
},

isEmptyObject: function( obj ) {
@@ -426,7 +429,7 @@ jQuery.extend({
}

// Support: IE<9
// Workaround non-numeric length overrides of otherwise arraylike objects (e.g., NodeLists)
// Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists)
if ( len !== len ) {
while ( second[j] !== undefined ) {
first[ i++ ] = second[ j++ ];
@@ -272,8 +272,8 @@ jQuery.extend({
type = "number";
}

// Make sure that NaN and null values aren't set. See: #7116
if ( value == null || type === "number" && isNaN( value ) ) {
// Make sure that null and NaN values aren't set. See: #7116
if ( value == null || value !== value ) {
return;
}

0 comments on commit 0bc0a69

Please sign in to comment.