Pergunta de entrevista da empresa SmartFile

What is a closure in JavaScript?