JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

  function add(x,y,f) {
return f(x) + f(y);
}

当我们调用add(-5,6,Math.abs)时,参数x,y和f分别接收-5,6和函数Math.abs,根据函数定义,我们可以推导计算过程为:

  x = -5;
y = 6;
f = Math.abs;
f(x) + f(y) ==> Math.abs(-5) + Math.abs(6) ==>11;
return 11;

用代码验证一下:

add(-5,6,Math.abs);//

编写高阶函数,就是让函数的参数能够接收别的函数。

最新文章

  1. linux lsmod命令 及相关信息
  2. js 获取 根目录
  3. 创建JOB
  4. linux之tmpwatch命令
  5. Mybatis学习记录(三)----理解SqlMapConfig.xml文件
  6. 图片onerror(转)
  7. C. Fox And Names
  8. VS操作Sqlite数据库
  9. struts1.3异常处理机制
  10. Unicode与UTF-8互转(C语言实现)
  11. Robotium---环境搭建及入门示例
  12. MySQL重置root用户密码的方法(转)
  13. 今天就这么乱糟糟的过啦~刚刚接触html,就稍微写了一下,明天加油,今天直接贴图
  14. web自定义炫酷字体
  15. python 数组过滤
  16. Flash、Ajax各自的优缺点,在使用中如何取舍?
  17. Flash TextField selectable bug block TextEvent.Link solution
  18. CCIE-MPLS VPN-实验手册(中卷)
  19. iOS UICollectionView(转一) XIB+纯代码创建:cell,头脚视图 cell间距
  20. zynq DMA控制器

热门文章

  1. Oracle服务器重命名
  2. (一)环境安装之Java
  3. vs.net打包(自动检测环境并安装.net framwork)
  4. RestTemplate请求出现401错误
  5. OLEDB事务
  6. Javascript: hash tables in javascript
  7. vue学习笔记之基础篇
  8. Web前端面试指导(十二):::before 和:before有什么区别?
  9. 创建Python数据分析的Docker镜像+Docker自定义镜像commit,Dockerfile方式解析+pull,push,rmi操作
  10. jar命令使用介绍