In regards to Javascript closures...

"Closures are functions that refer to independent (free) variables (variables that are used locally, but defined in an enclosing scope). In other words, these functions 'remember' the environment in which they were created. ... functions in JavaScript form closures. A closure is the combination of a function and the lexical environment within which that function was declared. This environment consists of any local variables that were in-scope at the time that the closure was created. ... Closures are useful because they let you associate some data (the lexical environment) with a function that operates on that data. This has obvious parallels to object oriented programming, where objects allow us to associate some data (the object's properties) with one or more methods."

-- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

To see a Javascript demonstration, change the view to "Editor View" and click the console button at the bottom of the screen.