Although it seems like we are getting further off-topic... I often pass around function references as strings. For example this is a common pattern that I use.
$('div')[ test() ? 'doSomething' : 'doSomethingElse' ](); Using something like $.callback is very explicit as to its purpose. After all callback is exactly what we call it in the docs, etc. Granted I don't mind using anonymous callbacks, if I need the code to be cleaner, I'll use named functions to be even more explicit. But of the other proposals I like $.callback the best. -- Brandon Aaron On Sat, Oct 4, 2008 at 9:56 AM, Cloudream <[EMAIL PROTECTED]> wrote: > > I do not like passing a jQuery method name as a string to one special > method. > > A new (and a little strange) usage to jQuery. > > On Oct 4, 5:06 am, "Brandon Aaron" <[EMAIL PROTECTED]> wrote: > > I'd prefer this as well. > > > > I think this also helps a few common cases of var self = $(this); > > -- > > Brandon Aaron > > > > On Fri, Oct 3, 2008 at 4:01 PM, Yehuda Katz <[EMAIL PROTECTED]> wrote: > > > $.callback("addClass", "hello") is ok with me. > > > -- Yehuda > > > > > On Fri, Oct 3, 2008 at 1:58 PM, Ariel Flesler <[EMAIL PROTECTED]> > wrote: > > > > >> Yeah, well. We could provide an interface for registering these > methods > > >> for those plugins that are interested. Still, someone could expect a > method > > >> to be registered when it's not. > > > > >> The other option is to pass the method name as first argument, works > > >> around this but it loses the I-call-the-analog-method thing. > > > > >> On Fri, Oct 3, 2008 at 5:51 PM, Yehuda Katz <[EMAIL PROTECTED]> wrote: > > > > >>> The only tricky thing here is that because JS has no method_missing > or > > >>> cross-browse __noSuchMethod__, we'd be forced to explicitly write all > the > > >>> proxies, which could become messy when they work for core methods, > but not > > >>> all plugins. > > >>> Or maybe I'm just being a nervous nelly. > > > > >>> -- Yehuda > > > > >>> On Fri, Oct 3, 2008 at 1:46 PM, Ariel Flesler <[EMAIL PROTECTED] > >wrote: > > > > >>>> Note that John's code doesn't do actual currying, but partial > > >>>> evaluation. > > > > >>>>http://en.wikipedia.org/wiki/Partial_evaluation > > > > >>>> Currying is a complex concept in comparison to the latter. > > >>>> Anyway, you can change the name if you want, the idea is simple, > create > > >>>> a closure with fixed parameters. > > >>>> We can name it callback (though it's long) > > > > >>>> jQuery("#test").hide("slow", jQuery.callback.show("slow") ); > > > > >>>> Not to hard to understand IMO, and no CS involved :) > > > > >>>> On Fri, Oct 3, 2008 at 5:41 PM, Yehuda Katz <[EMAIL PROTECTED]> > wrote: > > > > >>>>> As in Computer Science. > > >>>>> Using a currying function requires people new to jQuery to go look > it > > >>>>> up, where they'll encounter: > > > > >>>>>http://en.wikipedia.org/wiki/Curry > > > > >>>>> and probably eventually: > > > > >>>>>http://en.wikipedia.org/wiki/Currying > > > > >>>>> "Given a function *f* of type [image: f \colon (X \times Y) \to Z], > > >>>>> then *currying* it makes a function [image: \mbox{curry}(f) \colon > X > > >>>>> \to (Y \to Z)]. That is, curry(*f*) takes an argument of type *X* > and > > >>>>> returns a function of type [image: Y \to Z].*Uncurrying* is the > > >>>>> reverse transformation." > > > > >>>>> Prototype added features like this to 1.6, and while they're > > >>>>> interesting and useful, they make it hard for people coming to a > codebase > > >>>>> (especially people new to the framework) to understand what's > happening in > > >>>>> the code. > > > > >>>>> On Fri, Oct 3, 2008 at 1:34 PM, Ariel Flesler <[EMAIL PROTECTED] > >wrote: > > > > >>>>>> CS as in Counter Strike ? :D > > >>>>>> Heh, no really... what is CS, forgive my ignorance :P > > > > >>>>>> On Fri, Oct 3, 2008 at 5:30 PM, Yehuda Katz <[EMAIL PROTECTED]> > wrote: > > > > >>>>>>> Any feature that requires knowledge of CS is a no-go in my book > :P > > >>>>>>> -- Yehuda > > > > >>>>>>> On Fri, Oct 3, 2008 at 1:27 PM, Ariel Flesler < > [EMAIL PROTECTED]>wrote: > > > > >>>>>>>> Eh, nothing, got it wrong. > > > > >>>>>>>> We could just save all these methods on a special object. > > > > >>>>>>>> jQuery("#test").hide("slow", jQuery.curry.show("slow") ); > > > > >>>>>>>> The name could be changed of course. > > > > >>>>>>>> Or renamed methods (probably bad option) > > > > >>>>>>>> jQuery("#test").hide("slow", jQuery.curriedShow("slow") ); > > > > >>>>>>>> On Fri, Oct 3, 2008 at 5:14 PM, John Resig <[EMAIL PROTECTED] > >wrote: > > > > >>>>>>>>> > It is indeed. You can't expect parameters though and you > could > > >>>>>>>>> get conflict > > >>>>>>>>> > with the actual parameters sent by the caller. > > > > >>>>>>>>> I'm not sure what you're referring to - are you referring to a > bug > > >>>>>>>>> in > > >>>>>>>>> the code? Do you have an example? > > > > >>>>>>>>> --John > > > > >>>>>>>> -- > > >>>>>>>> Ariel Flesler > > >>>>>>>>http://flesler.blogspot.com > > > > >>>>>>> -- > > >>>>>>> Yehuda Katz > > >>>>>>> Developer | Engine Yard > > >>>>>>> (ph) 718.877.1325 > > > > >>>>>> -- > > >>>>>> Ariel Flesler > > >>>>>>http://flesler.blogspot.com > > > > >>>>> -- > > >>>>> Yehuda Katz > > >>>>> Developer | Engine Yard > > >>>>> (ph) 718.877.1325 > > > > >>>> -- > > >>>> Ariel Flesler > > >>>>http://flesler.blogspot.com > > > > >>> -- > > >>> Yehuda Katz > > >>> Developer | Engine Yard > > >>> (ph) 718.877.1325 > > > > >> -- > > >> Ariel Flesler > > >>http://flesler.blogspot.com > > > > > -- > > > Yehuda Katz > > > Developer | Engine Yard > > > (ph) 718.877.1325 > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---