A closure is the combination of a function and the lexical environment within which that function was declared.
InnerFunc was declared and called within OuterFunc. At this time, innerFunc can access the variable x of outerFunc that includes itself.