高阶函数是在执行时返回函数,将函数作为其一个或多个参数或两者的函数。如果您已经使用了任何Array
方法(如map
或filter
,或者将回调函数传递给jQuery的$.get
,那么您已经使用了高阶函数。
使用Array.map
,您提供了一个函数作为其唯一参数,它适用于数组中包含的每个元素。
var arr = [ 1, 2, 3 ];
var arrDoubled = arr.map(function(num) {
return num * 2;
});
console.log(arrDoubled); // [ 2, 4, 6 ]
高阶函数也可以返回一个函数。例如,您可以创建一个名为multiplyBy
的函数,它接受一个数字并返回一个函数,该函数将您提供的另一个数字乘以提供的第一个数字。您可以使用此方法创建multiplyByTwo
函数以传递给Array.map
。这将为您提供上面看到的相同结果。
function multiplyBy(num1) {
return function(num2) {
return num1 * num2;
}
}
var multiplyByTwo = multiplyBy(2);
var arr = [ 1, 2, 3 ];
var arrDoubled = arr.map(multiplyByTwo);
console.log(arrDoubled); // [ 2, 4, 6 ]
更多JavaScript教程
学习更多JavaScript教程