I asked a question about callbacks and arrived at another question (see comment). How is a closure different from a callback?
There's a good definition of closures here:
A "closure" is an expression (typically a function) that can have free variables together with an environment that binds those variables (that "closes" the expression).
In practice, that means it's a function that has some hidden variables.
A callback is a higher-level idea. Generally it is a function which is passed around with the intent of being called at a later time. In JavaScript, closures are often used as callbacks.