数与非局部变量（如C语言）。早期的函数式语言Lisp采取了动态作用域方法，把非局部变量绑定到函数执行点最近的变量定义。Scheme语言支持词法作用域的zh-cn:头等函数;zh-tw:一级函式;，把对函数的引用绑定到闭包（closure）而不是函数指针，这使得垃圾收集成为必须。
概念.在这一节，比较把函数视作头等公民的典型的函数式语言Haskell与把函数视作二等公民的命令式编程的C语言的有关概念。 
高阶函数：函数作为实参传递.具有函数参数的函数