Ehr ... for stringified version ... getNativeConstructor = function(toString, RegExp){return function(Object){ return toString.call(Object).replace(RegExp, "$1"); }}(Object.prototype.toString, /^.{8}([^\]]+)\]$/);
:-) On Thu, Oct 9, 2008 at 11:28 PM, Andrea Giammarchi < [EMAIL PROTECTED]> wrote: > I like the trick, specially because it makes easily "flat" values like > "false" and "new Boolean(false)", as example, and I guess a function like > this one could be useful as well, isn't it? > > getNativeConstructor = function(toString, RegExp){return function(Object){ > return window[toString.call(Object).replace(RegExp, "$1")]; > }}(Object.prototype.toString, /^.{8}([^\]]+)\]$/); > > I am not sure about the window trick, maybe a string is enough for switches > and other checks > > getNativeConstructor = function(toString, RegExp){return function(Object){ > return window[toString.call(Object).replace(RegExp, "$1")]; > }}(Object.prototype.toString, /^.{8}([^\]]+)\]$/); > > switch(getNativeConstructor(whatever)){ > case "Array": ... > case "Boolean": ... > case "Number": ... > } > > Regards > > > On Thu, Oct 9, 2008 at 7:33 PM, Nathan Hammond <[EMAIL PROTECTED]>wrote: > >> >> This showed up on Douglas Crockford's blog today: >> Object.prototype.toString.apply(value) === '[object Array]' >> >> The trick appears to have been in circulation for about 6 months and >> shows up in DWR as well as DC's book. DC credits Mark Miller for it. >> Probably slower than the value.constructor == Array test we use >> everywhere, but fixes the iframe-created object issue. >> >> 1. Should we adopt it for resiliency? >> 2. @Michael Geary: Are you using this in your iframe sandbox code? It >> sure would beat the heck out of duck typing. >> >> Just starting a discussion... >> Nathan >> >> >> > --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---