X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fcore.js;h=6eeb9a67eca4c3e1f808c7f3eb22ef8fef840c00;hb=24e18d4cae4a1cb1a77323fd2e99300508e55642;hp=ff31e813db0f06498a2274fa288949b05b3bd24b;hpb=ef05f44cce870a8b78637b0a88b27087f7f13b37;p=jquery.git diff --git a/src/core.js b/src/core.js index ff31e81..6eeb9a6 100644 --- a/src/core.js +++ b/src/core.js @@ -39,6 +39,7 @@ var jQuery = function( selector, context ) { // Save a reference to some core methods toString = Object.prototype.toString, + hasOwnProperty = Object.prototype.hasOwnProperty, push = Array.prototype.push, slice = Array.prototype.slice, indexOf = Array.prototype.indexOf; @@ -323,7 +324,17 @@ jQuery.extend({ }, isObject: function( obj ) { - return this.constructor.call(obj) === Object; + if ( toString.call(obj) !== "[object Object]" ) { + return false; + } + + //own properties are iterated firstly, + //so to speed up, we can test last one if it is own or not + + var key; + for ( key in obj ) {} + + return !key || hasOwnProperty.call( obj, key ); }, isEmptyObject: function( obj ) {