什么是高阶函数?面试的时候碰到的问题,一时蒙蔽了,回来一查资料,what’s the fack ???
百度百科的解释:
在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
①接受一个或多个函数作为输入;
②输出一个函数
第一个条件就是:函数作为参数传入另一个函数,那就是回调函数。例如:
var arr = [1,2,3,4];
arr.map(function(item,index,arr){
arr[index] = arr[index]*10;
});
console.log(arr);//[ 10, 20, 30, 40 ]
第二种条件是函数内返回一个函数,比如闭包:下面就随便举一个例子
function a (x){
return x*10;
}
function b(f,h){
return f(h)*f(h)
}
var cc=b(a,5);
console.log(cc);//2500
高阶函数就是函数嵌套函数,不要想象的太复杂。