In computer science, a closure is a first-class function with free variables that are bound in the lexical environment.
I know, wha? I think after a few hours on wikipedia I think I finally came up with a code snippet that illustrates that statement.
Still confused? I think mozilla explained it the best:
A closure is a special kind of object that combines two things: a function, and the environment in which that function was created. The environment consists of any local variables that were in-scope at the time that the closure was created.
A closure lets you associate some data (the environment) with a function that operates on that data.
Ok so why do I care?