Every function is a closure, it is about lexical scope, a function is called a closure when it remembers the scope it is executed it. A function can be passed as argument to other function and then executed there. There are two thingsexecution_scope andexecution_context.