Slide 1

Slide 1 text

Closures! A lightning talk by Jeremy Lindblom!  

Slide 2

Slide 2 text

What are Closures?! Closure anatomy! Closures in objects! Objects as Closures!

Slide 3

Slide 3 text

A Closure is an object! that represents an! anonymous function.!

Slide 4

Slide 4 text

They're anonymous because they don't have a name.!

Slide 5

Slide 5 text

They are also called lambdas, or lambda functions.! ! This is a reference to a branch of mathematics called lambda calculus.! Let's not even go there.!

Slide 6

Slide 6 text

Named functions have names so they can be referenced and reused.! ! Anonymous functions don't need to be reused. They're great for callbacks...!

Slide 7

Slide 7 text

like when you are sorting…!

Slide 8

Slide 8 text

or mapping…!

Slide 9

Slide 9 text

or anything, really.!

Slide 10

Slide 10 text

Anatomy of a closure/lambda!

Slide 11

Slide 11 text

Basic closure syntax!

Slide 12

Slide 12 text

The use clause!

Slide 13

Slide 13 text

Recursive closures!

Slide 14

Slide 14 text

Closures in objects!

Slide 15

Slide 15 text

Closures in objects!

Slide 16

Slide 16 text

Binding!

Slide 17

Slide 17 text

Binding! Scope! Access!

Slide 18

Slide 18 text

Objects as Closures!

Slide 19

Slide 19 text

__invoke()!

Slide 20

Slide 20 text

Closures! QUESTIONS?>