Added comments to isObject.

This commit is contained in:
rkatic 2009-11-09 07:26:01 +08:00 committed by John Resig
parent 76f6f0d39d
commit c2bbcd8833

View file

@ -39,6 +39,7 @@ var jQuery = function( selector, context ) {
// Save a reference to some core methods // Save a reference to some core methods
toString = Object.prototype.toString, toString = Object.prototype.toString,
hasOwnProperty = Object.prototype.hasOwnProperty,
push = Array.prototype.push, push = Array.prototype.push,
slice = Array.prototype.slice, slice = Array.prototype.slice,
indexOf = Array.prototype.indexOf; indexOf = Array.prototype.indexOf;
@ -323,7 +324,17 @@ jQuery.extend({
}, },
isObject: function( obj ) { 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 ) { isEmptyObject: function( obj ) {