高阶函数
定义
函数传入另一个函数作为参数
常用高阶函数
map()
调用:ArrayName.map ( FunctionName_f )
返回值:数组 [ f(arr[0]), f(arr[1]),f(arr[2]),…]
reduce()
调用: ArrayName.reduce ( FunctionName_f )
返回值:一个数值
例子:
var arr = [1,2,3,4]
var result = arr.reduce(function(x,y){
return x+y;
}); //result = arr.reduce(((f(f(1,2),3),4)) = 10
filter()
定义:筛选函数,将数组中不符合要求的元素删去
调用:ArrayName.filter ( FunctionName_f )
返回值:一个新数组
调用时主要是编写筛选函数,返回的是true的则留下,false的则删除
函数方法
apply()函数
定义
指定函数中使用的this指向哪个对象
调用
functionName.apply ( Object_o,array_a )
意义
实现函数的多态和继承,当Object为null时,表明是调用的函数本身
call()函数
除了传递的参数是多个参数,而不是数组,其他完全一致。