mirror of
https://github.com/jquery/jquery.git
synced 2026-02-03 08:15:01 -05:00
Fixes #13571. jQuery.isPlainObject 1.9.x compatibility
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
This commit is contained in:
11
src/core.js
11
src/core.js
@@ -422,8 +422,11 @@ jQuery.extend({
|
||||
},
|
||||
|
||||
isPlainObject: function( obj ) {
|
||||
var key;
|
||||
// Not plain objects:
|
||||
// - Any object or value whose internal [[Class]] property is not "[object Object]"
|
||||
// ...Unless it was a constructor, whose prototype property was paved over by
|
||||
// by a plain object at its declaration. #13571
|
||||
// - DOM nodes
|
||||
// - window
|
||||
if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
|
||||
@@ -442,9 +445,11 @@ jQuery.extend({
|
||||
return false;
|
||||
}
|
||||
|
||||
// If the function hasn't returned already, we're confident that
|
||||
// |obj| is a plain object, created by {} or constructed with new Object
|
||||
return true;
|
||||
// Own properties are enumerated firstly, so to speed up,
|
||||
// if last one is own, then all properties are own.
|
||||
for ( key in obj ) {}
|
||||
|
||||
return key === undefined || core_hasOwn.call( obj, key );
|
||||
},
|
||||
|
||||
isEmptyObject: function( obj ) {
|
||||
|
||||
Reference in New Issue
Block a user