From: rkatic Date: Sun, 8 Nov 2009 23:26:01 +0000 (+0800) Subject: Added comments to isObject. X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=c2bbcd88335cf6f8df4ac9389ecbae90291377fb Added comments to isObject. --- 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 ) {