"... DBJ 'mess' ... " ? One espresso to many , Andrea :-) ?
PS: I think that top.alert() is "object" in IE because they can't think of DOM as a exclusive domain of javascript. There is this thing called "vbscript" they have to make work inside IE, as well ... but .. let's not go there ;o) On Jul 27, 5:43 pm, Andrea Giammarchi <andrea.giammar...@gmail.com> wrote: > Yes Daniel ... ( sorry I had another ticket open and I read Ariel ... ) > > On Mon, Jul 27, 2009 at 5:43 PM, Andrea Giammarchi < > > andrea.giammar...@gmail.com> wrote: > > Yes Ariel, I was talking about user defined stuff and obviously typeof > > "unknown" breaks the rule as well but this is not the case, is it? > > > If toString.call(obj) is not reliable cause it could return [object Object] > > DBJ "mess" is not reliable as well because passed variable could not produce > > what he is expecting, starting from document.getElementById which is object > > and not function in IE, got the point? > > > At least you told me why there is a call rather than an instanceof but what > > about this for IE DOM functions? > > > return !!obj && typeof obj.toString === "undefined" && > > /^\s*\bfunction\b/.test(obj); > > > it works fine to me in every IE (other browsers will be filtered by first > > feature test) > > > Regards > > > On Mon, Jul 27, 2009 at 5:29 PM, Daniel Friesen <nadir.seen.f...@gmail.com > > > wrote: > > >> typeof fn === 'function'; // Some things like > >> document.createElement('object'); return wonky results > >> fn instanceof Function; // Breaks across iFrames > >> toString.call(fn) === "[object Function]"; // Works the same across > >> iFrames and returns more reliable results > > >> ~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://daniel.friesen.name] > > >> Andrea Giammarchi wrote: > >> > 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 <mailto: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 > >> >> <mailto: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 > >> >> <mailto: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 > >> >> <mailto: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 -~----------~----~----~----~------~----~------~--~---