我搜索网络试图理解这个词。我知道'第一类函数'是可以分配给变量和'传递'的函数。但我实际上并不明白这意味着什么。
那是什么意思?什么是头等功能?
欢迎举例。
答案 0 :(得分:1)
第一类函数基本上是指函数作为数据类型,就像字符串,数组或数字一样。所以在Javascript中,函数就是数据。
你应该看看:
What is a first class citizen function?
所以你可以将函数作为另一个函数的参数传递:
function map(array,fun){
var result = [];
for(var i=0;i<array.length;i++){
result.push(fun(array[i]));
}
return result;
}
map([1,2,3],function(a){return a+1;}); //yields [2,3,4]
这里我们有一个迭代数组的函数,并返回一个应用程序的结果(作为参数传递)在数组的每个元素上。所以应用程序的乐趣就是数据变量。
如果你与Java比较,你不能在java(最多7)中这样做而不编写类,因此函数不是java&lt; = 7中的第一类,不像整数或浮点数或类本身。 Java(&lt; = 7)只有类的方法,而不是函数。