ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Understanding
                       Function Currying
                                                Javascript / AS3




                                                Thomas Burleson
                                       Digital Solutions Architect


Sunday, April 29, 12
Anonymous Functions

                          Closures
                              Function Currying
                                             Partial Applications




Sunday, April 29, 12
Function Currying:
                       Combine function with variables to create new function.




                                Variables are cached [captured] as function arguments
                                Outer variables are accessed via closure scope by inner Function




Sunday, April 29, 12
But how/why do we use     Function Currying


                          Explore existing Javascript code

                                Refactor code (to remove verbosity)

                                       Apply DRY concept

                                              Concise Code, Easy Maintenance




Sunday, April 29, 12
Refactoring with DRY

                         Existing Code

                               Anonymous Functions


                                     Closures

                                         Function Currying




Sunday, April 29, 12
REST Service (asynchronous)




Sunday, April 29, 12
Not DRY
                       Verbose!
                       Difficult to maintain




Sunday, April 29, 12
Uses 'function currying'
                       at two (2) levels :
                            onSuccess()

                            forClass()




Sunday, April 29, 12
Video Tutorial   (click to run)



                                              (click to download)

                                              Source Code




Sunday, April 29, 12

More Related Content

Function currying

  • 1. Understanding Function Currying Javascript / AS3 Thomas Burleson Digital Solutions Architect Sunday, April 29, 12
  • 2. Anonymous Functions Closures Function Currying Partial Applications Sunday, April 29, 12
  • 3. Function Currying: Combine function with variables to create new function. Variables are cached [captured] as function arguments Outer variables are accessed via closure scope by inner Function Sunday, April 29, 12
  • 4. But how/why do we use Function Currying Explore existing Javascript code Refactor code (to remove verbosity) Apply DRY concept Concise Code, Easy Maintenance Sunday, April 29, 12
  • 5. Refactoring with DRY Existing Code Anonymous Functions Closures Function Currying Sunday, April 29, 12
  • 7. Not DRY Verbose! Difficult to maintain Sunday, April 29, 12
  • 8. Uses 'function currying' at two (2) levels : onSuccess() forClass() Sunday, April 29, 12
  • 9. Video Tutorial (click to run) (click to download) Source Code Sunday, April 29, 12