Dans certaines langues, une fermeture peut se produire lorsqu'une fonction est définie dans une autre fonction, et la fonction intérieure renvoie à des variables locales de la fonction extérieure.
Une fonction peut créer une fermeture et la retourner. L'exemple suivant est une fonction qui retourne une fonction.