Closures in JavaScript
A closure is a function that has access to its own scope chain, which allows it to remember the state of its environment when it was created. In other words, a closure is a function that "closes over" its own scope chain. This means that a closure can access and