About isFunction I lost the point where toString.call(obj) === "[object Function]" was introduced instead of obj instanceof function
I understand differences in IE so I wonder if two distinct callbacks could solve the odyssey: isFunction: function( obj ) { return obj instanceof Function; }, isDOMFunction: toString.call(window.alert) === "[object Function]" ? function( obj ) { return toString.call(obj) === "[object Function]"; }: // IE only and only until standard native function manifest function( obj ){ return !!obj && typeof obj.toString === "undefined" && /^\s*\bfunction\b/.test(obj); } , In this way we could consider that in every browser, and when call/apply are supported, isFunction(fn) will guarantee call/apply while a DOMFunction could require a try catch or a different behavior for IE switch(true){ case $.isFunction(fn): return fn.call(what, ever); case $.isDOMFunction(fn): what.push.call(what, toArray(fn(ever))); return what; default: throw new Error("what tf?"); } ... or maybe not? Regards On Sun, Jul 26, 2009 at 4:09 PM, Andrea Giammarchi < andrea.giammar...@gmail.com> wrote: > I usually encapsulate toString from Object.prototype and if somebody breaks > the rule it means we cannot trust anything included typeof. So, in few > words, nobody has intersts into break this rule, imho. > > On Jul 26, 2009 8:07 AM, "DBJDBJ" <dbj...@gmail.com> wrote: > > > Also, IMHO this yields high level of encapsulation of an important > mechanism. > Which is a good thing. > And it is a fraction of a micro second slower then > > Object.prototype.toString.call(x) === "[object Object]" > but it is more compact ... > > In any case we are entering the subjective judgement phase, so I think > we should stop here and leave it to jQuery team to use this or not... > > --DBJ On Jul 26, 12:09 am, Andrea Giammarchi <andrea.giammar...@gmail.com> > wrote: > > > I miss the point about regexp usage ... please tell me the difference (in > a > real scenario) betwe... > > > On Sat, Jul 25, 2009 at 1:38 PM, DBJDBJ <dbj...@gmail.com> wrote: > > > > This indeed woks : functi... > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to jquery-dev@googlegroups.com To unsubscribe from this group, send email to jquery-dev+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---