This indeed woks : function isObj(o){ return
Object.prototype.toString.call(o) === '[object Object]' }
But I do not like it ;o) It does not seem very exact somehow ... I
mean using a string literal, and all that...
I would suggest this very simple and robust little set of functions :
// and now much simpler implementation
function isWhat(o){ return Object.prototype.toString.call(o).match(/\w
+/g)[1]; }
function isObject(x) { return isWhat(x) === isWhat({}); }
function isArray(x) { return isWhat(x) === isWhat([]); }
function isFunction(x) { return isWhat(x) === isWhat(Function()); }
function isString(x) { return isWhat(x) === isWhat(""); }
function isNumber(x) { return isWhat(x) === isWhat(1); }
No obfuscations here, and no "awesome" code. This seems very simple
and robust solution to me.
--DBJ
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---