First-class Function是什么

一、定义

A programming language is said to have First-class functions when functions in that language are treated like any other variable. For example, in such a language, a function can be passed as an argument to other functions, can be returned by another function and can be assigned as a value to a variable.(引自MDN,JavaScript语言)

当一种编程语言中的函数被当作任何其他类型变量一样对待时,就被称为具有First-class functions特性。 例如,在这种语言中,一个函数可以作为参数传递给其他函数,可以由另一个函数返回,也可以作为值赋给变量。

A language that supports first class functions allows functions to be assigned to variables, passed as arguments to other functions and returned from other functions. Go has support for first class functions. (引自Golangbot,Go语言)

支持first class functions的语言允许将函数赋值给变量,作为参数传递给其他函数,并从其他函数返回。

总的来说,First Class Functions是一种编程语言特性,它支持把函数赋值给一个变量,或者作为参数、返回值。支持该语言特性的语言有JavaScript、Go、Python等等。

我们以JavaScript为例:

var hello = function(name) {console.log("hello " + name)}

你可能感兴趣的:(javaScript,first,class,头等函数)