一次函数调用期间所建立所生成的值在下次函数调用时仍然存在。正因为这一特点，闭包可以用来完成信息隐藏，并进而应用于需要状态表达的某些编程范型中。不过，用这种方式来使用闭包时，闭包不再具有，因此也不再是纯函数。即便如此，在某些非纯函数式编程语言，例如Scheme中，闭包还是得到了广泛的使用。
闭包和头类函数.典型的支持闭包的语言中，通常将函数当作头等函数——在这些语言中，函数可以被当作参数传递、也可以作为函数返回值、绑定到变量名、就像字符串、整数等简单类型。例如以下Scheme代码