From c2bbcd88335cf6f8df4ac9389ecbae90291377fb Mon Sep 17 00:00:00 2001 From: rkatic Date: Mon, 9 Nov 2009 07:26:01 +0800 Subject: [PATCH] Added comments to isObject. --- src/core.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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 ) { -- 1.7.10.4