高阶函数英文叫Higher-order function。那么什么是高阶函数?
JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。
一个最简单的高阶函数:
function add( x, y, f){
return f(x) +f(y);
}
当我们调用 add(-1,-2,Math.abs)的时候,-1, -2, Math.abs 分别传递给 x, y 和 f。内部的 运算操作是:
return (Math.abs(-1) + Math.abs(-2)); 结果为3. 验证一下
打开chrome浏览器,右键-->检查 点击console 输入:add(-1,-2,Math.abs)
输入为:3
add(-1,-2,Math.abs) // 结果为3
摘录廖雪峰的js教程,链接地址:
http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499355829ead974e550644e2ebd9fd8bb1b0dd721000